OAuth2|客户端凭据资源详细信息|已弃用 [英] OAuth2 | ClientCredentialsResourceDetails | deprecated

查看:35
本文介绍了OAuth2|客户端凭据资源详细信息|已弃用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Spring安全的新手,我使用GRANT类型来实现OAuth2,并使用CLIENT_Credentials作为授权类型。 我使用的是下面的一段代码,但我得到的建议是,ClientCredentialsResourceDetailsOAuth2RestTemplate&;OAuth2AccessToken已弃用。

有人能帮我解决这个问题吗?

 private String getAuthTocken(){
     final ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
     resourceDetails.setClientId("ceapiClientId");
     resourceDetails.setClientSecret("ceapiClientSecret");
     resourceDetails.setGrantType("client_credentials");
     resourceDetails.setAccessTokenUri("https://auth.abcdcommerce.com/oauth-server/oauth/token");

     final OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(resourceDetails);
     final OAuth2AccessToken accessToken = oAuth2RestTemplate.getAccessToken();

     final String accessTokenAsString = accessToken.getValue();
     return accessTokenAsString;
 } 

推荐答案

替代方法是使用新的非阻塞WebClient或带有拦截器的RestTemplate,而不推荐使用OAuthRestTemplatespring-security-oauth文物中的所有东西都有生命终结路线图。

https://spring.io/blog/2019/11/14/spring-security-oauth-2-0-roadmap-update

https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Features-Matrix

可在此处找到迁移指南

https://github.com/spring-projects/spring-security/wiki/OAuth-2.0-Migration-Guide

来自迁移指南

Spring Security选择支持组合,而是公开一个OAuth2AuthorizedClientService,这对于创建RestTemplate拦截器或WebClient交换筛选器函数很有用。Spring Security为同时利用此服务的基于Servlet和WebFlux的应用程序提供ExchangeFilterFunction

这里有一个迁移示例,

https://github.com/jgrandja/spring-security-oauth-5-2-migrate

这篇关于OAuth2|客户端凭据资源详细信息|已弃用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆