Реализация Okta — Угловой SPA SpringBoot Oauth2

#angular #spring-boot #spring-security-oauth2 #okta

Вопрос:

надеюсь, мой вопрос застанет вас в добром здравии.

Мне нужно внедрить OKTA в рамках корпоративной инициативы, и я ищу некоторые общие рекомендации относительно моей текущей ситуации.

У меня уже есть два набора продуктивных реализаций Oauth2 (с использованием spring-security-oauth2), на самом деле, с двумя разными версиями SpringBoot (1.X и 2.X). Проверка подлинности делегируется в корпоративный каталог Active Directory с помощью поставщика Spring Ldapauthentication в рамках этапа проверки подлинности. Вход в систему осуществляется сервером oauth с помощью html-шаблона с использованием Spring MVC. Полномочия и сведения о пользователях реализуются с помощью пользовательской пользовательской и устаревшей модели авторизации, которая хранится в базе данных Oracle и извлекается через jdbc. На передней панели у меня есть несколько угловых клиентов (AngularJS и Angular), каждый из которых имеет свой собственный микросервис Springboot на задней панели, где каждый из них выполняет самоанализ токенов на сервере Oauth. Текущий поток OAuth тип неявные (я знаю, что это был устаревшим даже Весна безопасности OAuth, как весенний проект) Итак, у меня было догонять с помощью OAuth (я приложил изображение с шагами, что мои приложения в настоящее время в отношении безопасности, конечно, при некотором уровне абстракции) и значение немного OIDC, что как я понял, это тонкий слой, который работает по протоколу OAuth, занимающихся личность пользователя.

На самом деле вопрос в том, каков был бы наилучший подход для подключения к OKTA без особых сбоев. Я еще не дошел до технической точки, когда, возможно, наличие разных версий Spring заставит меня пойти, возможно, одним определенным путем. Будет ли что-то такое же простое, как, например, кодирование дополнительного поставщика аутентификации в каждом веб-конфигураторе безопасности Oauth? Было бы полезнее обновить версию SpringFramework для всех приложений и с этого момента использовать последние стартеры (я знаю, что есть версия okta), особенно те, что в 1.X. Что касается диаграммы, которую я приложил, где происходит Окта?

Я был бы признателен за любые рекомендации, пожалуйста.

введите описание изображения здесь

Ответ №1:

Okta заменит три нижних (3) поля на вашем изображении: сервер авторизации, Active Directory и диалоговое окно входа в систему. Кроме того, он также заменит часть базы данных (строки 10 и 11).

Вот что я рекомендую:

  1. Начните с этого: Oauth2 и OIDC на простом английском языке (https://www.youtube.com/watch?v=996OiexHze0)
  2. Попробуйте: https://www.oauth.com/playground/
  3. Настройте бесплатную учетную запись разработчика в Okta и попробуйте пример OIDC.

С точки зрения «минимизации сбоев»:

  • Поскольку переход на Okta неизбежен, вам необходимо перенести пользователей и их профиль из рекламы и базы данных в Okta.
  • Если реализация на клиенте и сервере ресурсов является стандартной, изменение будет минимальным (с некоторым добавлением требований чтения oidc/сведений о пользователе).

Комментарии:

1. еще только один вопрос, как насчет Весенних властей, которые также должны будут обратиться в Окту?

2. У меня меньше опыта в Spring, но я предполагаю, что речь идет о возвращении профилей пользователей и ролей/групп. Если да, то они тоже поступают от Окты. Как только вы войдете в свою учетную запись разработчика, вы увидите, где они находятся.