春季安全 5 替代 OAuth2Rest 模板
在诸如 和 之类的类中,所有类都被标记为已弃用。spring-security-oauth2:2.4.0.RELEASE
OAuth2RestTemplate
OAuth2ProtectedResourceDetails
ClientCredentialsAccessTokenProvider
从这些类的javadoc中,它指向一个春季安全迁移指南,该指南暗示人们应该迁移到核心spring-security 5项目。但是,我很难找到如何在此项目中实现我的用例。
如果您希望对应用程序的传入请求进行身份验证,并且希望使用第三方 OAuth 提供程序来验证身份,则所有文档和示例都讨论如何与第三方 OAuth 提供程序集成。
在我的用例中,我想做的就是向受OAuth保护的外部服务发出请求。目前,我用我的客户端ID和密码创建了一个,我将其传递到.我还添加了一个自定义,它只是向令牌请求添加一些额外的标头,这些标头是我正在使用的OAuth提供程序所必需的。RestTemplate
OAuth2ProtectedResourceDetails
OAuth2RestTemplate
ClientCredentialsAccessTokenProvider
OAuth2ResTemplate
在spring-security 5文档中,我发现了一个提到自定义令牌请求的部分,但同样看起来是在向第三方OAuth提供程序验证传入请求的上下文中。目前尚不清楚如何将其与类似 a 之类的内容结合使用,以确保对外部服务的每个传出请求首先获取令牌,然后获取添加到请求中的令牌。ClientHttpRequestInterceptor
同样在上面链接的迁移指南中,有一个引用,它说它说它对于在拦截器中使用很有用,但是看起来它依赖于这样的东西,如果你想使用该提供来确保传入的请求经过身份验证,它似乎是它为第三方提供商维护注册的地方。OAuth2AuthorizedClientService
ClientRegistrationRepository
有没有办法利用spring-security 5中的新功能来注册OAuth提供程序,以便获取令牌以添加到来自应用程序的传出请求中?