AuthorizationServerConfigurerAdapter jest przestarzały

9

Chciałbym użyć Oauth2uwierzytelniania w interfejsie API Spring Rest do logowania. Ale dostałem ostrzeżenie AuthorizationServerConfigurerAdapter is deprecatedi zapoznaj się z Przewodnikiem migracji OAuth 2.0 dla Spring Security 5.

dokumenty klasowe

Sprawdziłem tam, ale nie znalazłem dużo przewodnika migracji. Czy ktoś może podać pełny przykład tego.

Z góry dziękuję...

Vijay
źródło
Znalazłem ten sam problem, próbując znaleźć najlepsze podejście do implementacji uwierzytelniania i autoryzacji za pomocą OAuth 2 za pośrednictwem Spring Security. Możliwe, że brakuje mi głębszej wiedzy na temat OAuth, ale mam nadzieję, że rozwiążę problem ze studiowaniem.
Peter S.
2
Próbowałem obniżyć wersję Spring-security-oauth2 z 2.4.0.RELEASE do 2.3.8.RELEASE i wygląda na to, że został oznaczony jako przestarzały z 2.4.0.RELEASE. Obie wersje pochodzą z listopada -> repozytorium maven . Zgaduję tylko, czy przewodnik migracji dla serwera autoryzacji jest nadal w toku.
Peter S.

Odpowiedzi:

6

Projekt Spring Security OAuth2 jest obecnie przestarzały, a zespół Spring Security postanowił nie zapewniać już wsparcia dla serwerów autoryzacji. Zamierzają ponownie rozważyć tę decyzję, ale w tej chwili nic nie wiadomo i radzę rozważyć inne rozwiązania, na przykład Keycloak .

Anar Sułtanow
źródło
1
To jest prawidłowa odpowiedź, dlaczego AuthorizationServerConfigurerAdapterjest osłabiona. Miejmy nadzieję, że Wiosna ponownie rozważy ...
JohanB
Czy masz jakikolwiek samouczek lub źródło pomocy w migracji ze starego Spring-Security-OAuth2 na serwer autoryzacji Open Source jako Keycloak, Gluu?
Geany
1

Aby pracować z AuthorizationServer (i AuthorizationServerConfigurerAdapter) w aplikacji Spring Boot, możesz użyć narzędzia Spring Security OAuth Boot 2 Autoconfig . Mimo, że wydaje się być w trybie konserwacji, jest aktywnie aktualizowany, jego nowa wersja to 2.2.3, co odpowiada wersji Spring Boot 2.2.3. Jego podręcznik mówi, że:

Pamiętaj, że musisz określić wersję dla Spring-security-oauth2-autoconfigure , ponieważ nie jest ona już zarządzana przez Spring Boot, choć i tak powinna pasować do wersji Boot

Użyłem go w moim projekcie demo i wszystko wydaje się OK. Aby więc pracować z OAuth2, tokenami JWT, serwerami autoryzacji i zasobów, wystarczy dodać go do swojego projektu:

    <dependency>
        <groupId>org.springframework.security.oauth.boot</groupId>
        <artifactId>spring-security-oauth2-autoconfigure</artifactId>
        <version>2.2.3.RELEASE</version>
    </dependency>

Mój projekt demo .

Cepr0
źródło
1
Nie należy sugerować osobom używającym projektu, który jest obecnie nieaktualny.
Anar Sułtanow
1
Nie sugerowałem użycia przestarzałego projektu. spring-security-oauth2-autoconfigurenie jest jeszcze przestarzałe i ostrzegłem, że jest w trybie konserwacji. Pytanie dotyczyło możliwości korzystania AuthorizationServer- pokazałem tę możliwość.
Cepr0