微服務體系中,避免不了服務之間鏈式調用,一般使用 Feign ,由於使用 Spring Security OAuth2 全局做了安全認證,簡單的一種實現方式就是在服務提供方獲得 Token 再次通過 HTTP 協議傳遞調用相應的服務。
@Configuration public class FeignConfig implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); //添加token requestTemplate.header("Authorization", request.getHeader("Authorization")); } }