piy*_*iya 3 spring-security spring-boot spring-security-oauth2 spring-oauth2
我是 Spring Security 的新手,我遇到过使用 client_credentials 作为 Grant 类型来实现 OAuth2。我正在使用下面的代码,但我收到建议,认为ClientCredentialsResourceDetails、OAuth2RestTemplate 和 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;
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用新的非阻塞WebClient或RestTemplate带有拦截器的 a 来替代已弃用的OAuthRestTemplate. 文物中的所有物品spring-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很有用。Spring Security为基于 Servlet 和 WebFlux 的应用程序提供了 s,这些应用程序都利用此服务。RestTemplateWebClientExchangeFilterFunction
这里有一个迁移示例,
https://github.com/jgrandja/spring-security-oauth-5-2-migrate
| 归档时间: |
|
| 查看次数: |
9991 次 |
| 最近记录: |