用于添加身份验证标头的WebClient过滤器

问题描述 投票:0回答:1

我将对需要身份验证标头的外部服务实施许多请求。

认证服务是一项外部服务,为了检索令牌,我需要进行HTTP调用。

我正在考虑的策略是向WebClient创建一个附加过滤器,该过滤器调用此服务以获取令牌,然后将其添加到标题中。

当然,我将实现一些缓存层来检索令牌,但是要点是,我要向请求中添加一个请求。

您认为这是有效的方法吗?还是我应该在主请求之外显式调用身份验证服务?

spring-boot http webclient spring-webclient
1个回答
0
投票

如果是OAuth2,并且您需要JWT令牌进行请求,Spring Security和WebClient也可以做到这一点(Spring WebFlux based exampleSpring Web example)。我不会在过滤器中实现此逻辑,而是创建一个WebClient过滤器来为每个请求设置Authorization: Bearer XYZ标头,并从outside或Spring传递令牌。

您也可以查看此library。它会定期为您获取后台线程中的OAuth2令牌,您可以将其传递给WebClient

© www.soinside.com 2019 - 2024. All rights reserved.