OAuth2 | ClientCredentialsResourceDetails | устарел - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в безопасности Spring, и мне удалось реализовать OAuth2 с client_credentials в качестве типа Grant. Я использую приведенный ниже фрагмент кода, но мне кажется, что 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;
 } 

1 Ответ

1 голос
/ 29 мая 2020

Альтернативой является использование нового неблокирующего WebClient или RestTemplate с перехватчиком вместо устаревшего 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, что полезно для создания RestTemplate перехватчики или WebClient функции фильтра обмена. Spring Security предоставляет ExchangeFilterFunction s для приложений на основе Servlet и WebFlux, которые используют этот сервис.

Здесь доступен пример миграции:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...