我将对需要身份验证标头的外部服务实施许多请求。
认证服务是一项外部服务,为了检索令牌,我需要进行HTTP调用。
我正在考虑的策略是向WebClient创建一个附加过滤器,该过滤器调用此服务以获取令牌,然后将其添加到标题中。
当然,我将实现一些缓存层来检索令牌,但是要点是,我要向请求中添加一个请求。
您认为这是有效的方法吗?还是我应该在主请求之外显式调用身份验证服务?
如果是OAuth2,并且您需要JWT令牌进行请求,Spring Security和WebClient
也可以做到这一点(Spring WebFlux based example,Spring Web example)。我不会在过滤器中实现此逻辑,而是创建一个WebClient
过滤器来为每个请求设置Authorization: Bearer XYZ
标头,并从outside或Spring传递令牌。
您也可以查看此library。它会定期为您获取后台线程中的OAuth2令牌,您可以将其传递给WebClient