OAuth2AccessTokenResponseClient - 接口阻塞?

OAuth2AccessTokenResponseClient - Interface is blocking?

我使用的代码库有一个有效的 OAuth 模型,它使用 OAuth2RestTemplate 来管理访问令牌和访问令牌请求。由于 OAuth2RestTemplate 已弃用,我想转向 Spring Security OAuth & WebClient。

当我查看涉及的一些 类 时,我惊讶地发现 OAuth2AccessTokenResponseClient 不是 return Mono,并且默认实现 - DefaultPasswordTokenResponseClient - 在内部使用 RestTemplate。

我认为 WebClient 的主要优点之一是它是非阻塞的?如果是这样,为什么阻止 I/O 是请求访问令牌的默认策略之一?从 reactive/WebClient 新手的角度来看,我不明白为什么 OAuth2AccessTokenResponseClient 本身不是 WebClient 实例。

如果我尝试编写使用 WebClient 请求令牌的自定义过滤器,我会遇到主要障碍或难以检测的错误吗?我在这方面没有太多知识可以积累,但如果有人可以提供帮助,我将不胜感激。

你错了一点:OAuth2RestTemplate 没有弃用;由于 Spring 版本 2.2.0 大量 类 被移动到新库和其他库,Spring 仅留在 OAuth 模块中的身份验证服务器,所有其他 类 注释为已弃用。 OAuth2RestTemplate 进一步使用,只是与另一个包一起使用。

鉴于此,您可以进一步使用 RestTemplate,但需要在项目中进行更改。或者,当然,移动到 WebClient。这种方法没有好坏之分,只是可以异步和非阻塞地工作。

我们在我们的项目中决定不迁移到新版本,等待有关迁移的清晰且完全可以理解的文档(至少上个月它不完整且不完全可以理解)。