Okta Spring Boot Starter - это в основном просто легкая оболочка, помогающая настроить существующую автоконфигурацию Spring Security OAuth с несколькими c битами, специфичными для Okta.
Мое первое предложение (если возможно) - это попытаться использовать Spring Security OAuth для обоих IdP, поскольку не похоже, что стартер AAD работает со встроенной поддержкой OAuth Spring Security (я мог ошибаться, я только бегло посмотрел). Предполагая, что AAD - это просто OAuth / OID C, он просто будет работать с небольшой конфигурацией.
Вам все равно понадобится решение для защиты данных маршрутов 1 и 2 -> Okta 3 и 4 AAD. Есть несколько способов сделать это. Вы можете использовать области (при условии, что они разные) или какой-либо другой тип «полномочий»:
http.authorizeRequests()
.antMatchers("/your/route").hasAuthority("SCOPE_custom");
Okta Spring Boot Starter должен работать с другими IdP, настроенными со свойствами Spring Security OAuth: https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2login -boot-property-mappings
Я не могу сказать на 100% то, что добавляет стартер ADD, но я предполагаю, что это похоже на Okta. Это:
- Общий набор свойств (встроенный с предложениями других поставщиков)
- Указанный поставщиком c Проверка JWT (Spring Security выполняет только базовую c проверку JWT, и у каждого поставщика есть свои рекомендации, предполагая, что вы используете токены доступа JWT)
- Немного сахара (например, стартер Okta добавляет отображение групп Okta в Spring Authorities)
Что касается проверки JWT, Okta рекомендует проверять JWT следующим образом: https://scotch.io/tutorials/jwt-vs-opaque-access-tokens-use-both-with-spring-boot#toc -better-jwt-validation
Можно использовать аналогичный метод (при необходимости).
Держите нас в курсе!