AuthorizationServerConfigurerAdapter устарел

9

Я хотел бы использовать Oauth2аутентификацию в Spring Rest API для входа в систему. Но я получил предупреждение, например, AuthorizationServerConfigurerAdapter is deprecatedи вижу Руководство по миграции OAuth 2.0 для Spring Security 5.

классные документы

Я проверил там, но не нашел много руководства по миграции. Может кто-нибудь, пожалуйста, поделитесь полным примером для этого.

Заранее спасибо...

Виджай
источник
Я обнаружил ту же проблему, пытаясь найти лучший подход к реализации аутентификации и авторизации с помощью OAuth 2 через Spring Security. Возможно, мне не хватает более глубоких знаний об OAuth, но я надеюсь выяснить проблему с изучением.
Питер С.
2
Я попытался понизить версию spring-security-oauth2 с 2.4.0.RELEASE до 2.3.8.RELEASE, и похоже, что она помечена как устаревшая с 2.4.0.RELEASE. Обе версии с ноября -> репозиторий Maven . Я только предположил бы, если руководство по миграции для сервера авторизации все еще находится в разработке.
Питер С.

Ответы:

6

Проект Spring Security OAuth2 в настоящее время устарел, и команда Spring Security решила больше не предоставлять поддержку серверов авторизации. Они собираются пересмотреть это решение, но на данный момент ничего не известно, и я бы посоветовал вам рассмотреть другие решения, например, Keycloak .

Анар Султанов
источник
1
Это правильный ответ, почему AuthorizationServerConfigurerAdapterне рекомендуется. Будем надеяться, что весна пересмотрит ...
JohanB
Есть ли у вас какие-либо учебные пособия или ресурсы, помогающие перейти со старого Spring-Security-OAuth2 на сервер авторизации с открытым исходным кодом под названием Keycloak, Gluu?
Geany
1

Для работы с AuthorizationServer (и AuthorizationServerConfigurerAdapter) в приложении Spring Boot вы можете использовать Spring Security OAuth Boot 2 Autoconfig . Несмотря на то, что он, похоже, находится в режиме обслуживания, он активно обновляется, его свежая версия - 2.2.3, что соответствует версии Spring Boot 2.2.3. В справочном руководстве сказано, что:

Обратите внимание, что вам нужно указать версию для spring-security-oauth2-autoconfigure , поскольку она больше не управляется Spring Boot, хотя в любом случае должна соответствовать версии Boot

Я использовал его в своем демонстрационном проекте, и все, кажется, в порядке. Итак, для работы с OAuth2, токенами JWT, серверами авторизации и ресурсов все, что вам нужно, это добавить его в свой проект:

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

Мой демо-проект .

Cepr0
источник
1
Вы не должны предлагать людям использовать проект, который в настоящее время устарел.
Анар Султанов
1
Я не предлагал использовать устаревший проект. spring-security-oauth2-autoconfigureпока не рекомендуется, и я предупредил, что он находится в режиме обслуживания. Вопрос был о возможности использования AuthorizationServer- я продемонстрировал эту возможность.
Cepr0