(1) Цитата: «Недавно клиент решил использовать SSO для аутентификации, поэтому мое приложение должно действовать как SP с клиентским IdP. Я использовал Spring SAML для настройки моего приложения как SP.»
Ответ :
Я полагаю, что вы используете Spring SAML, предоставленный официальным репозиторием Spring Security SAML для GitHub, чтобы "настроить приложение как SP".
(2) Цитата «Интеграция с IdP клиента в среде QA включает следующие шаги: ..»
Ответ :
Пять (5) шагов (предоставленных вашим сообщением), касающихся интеграции вашего веб-приложения в качестве SP с клиентским IdP, являются практическим стандартом SAML для «развертывания конфигурации SP SSO в среде PROD и интеграции ее с клиентским PROD IdP».
Я поделился практическим опытом интеграции веб-приложения в качестве SAML SP с SAML IdP, предоставив свой ответ на другой недавний вопрос Stackoverflow " Я предоставил инструкцию по решению другого Stackoverflow. Как создать файл метаданных из мое приложение Java Spring для установления соединения с провайдером идентификации, таким как Ping Federate?"
(3) Цитата «Мне не нравится использовать описанный выше подход для PROD, поскольку реальные пользователи не смогут войти в приложение до тех пор, пока файл метаданных SP приложения не будет сгенерирован и помещен в нужное место у клиента. IdP «.
Ответ :
Если вам «не нравится использовать описанный выше подход для PROD», вы можете изменить исходный код «spring-security-saml / samples / boot / simple-service-provider /» (предоставлен официальный GitHub-репозиторий Spring Security SAML ) для настройки вашего веб-приложения как SAML SP.
(4) Вопрос"Может кто-нибудь сказать мне, как я могу заранее сгенерировать файл метаданных SP для своего приложения перед развертыванием конфигурации SSO на PROD?"
Ответ
(I) README на тему «Как запустить простой образец Identity Provider (IDP) и Service Provider (SP)» (предоставляется официальным репозиторием Spring Security SAML для GitHub) вы "как я могу сгенерировать файл метаданных SP для своего приложения заранее, перед развертыванием конфигурации SSO на PROD".
(II) Я выделяю соответствующую информацию о том, «как сгенерировать файл метаданных SAML SP Spring Basic Security для моего веб-приложения заранее, прежде чем развертывать конфигурацию единого входа в PROD» (цитируйте свой вопрос).
Шаг 2 - Запустите поставщика услуг
Поставщик услуг работает на http://localhost:8080/sample-sp
$git clone https://github.com/spring-projects/spring-security-saml
$cd spring-security-saml
$./gradlew :spring-security-saml-samples/boot/simple-service-provider:bootRun &
(II.a) Запустите веб-браузер для доступа к URL http://localhost:8080/sample-sp
чтобы убедиться, что поставщик услуг Spring Security SAML работает нормально.
(II.b) Запустить веб-браузер для доступа к конечной точке метаданных SP
http://localhost:8080/sample-sp/saml/sp/metadata
загрузить или «сгенерировать файл метаданных SP для моего приложения заранее, перед развертыванием конфигурации SSO на PROD» (укажите свой вопрос).
(5) Вопрос «Spring SAML: альтернативные способы генерации метаданных SP, кроме использования / saml / конечной точки метаданных»
Ответ
Вы можете изменить исходный код «spring-security-saml / samples / boot / simple-service-provider / src / main / java / sample / config / SecurityConfiguration.java» (предоставляется официальным GitHub хранилище Spring Security SAML ) для «генерации метаданных SP помимо использования конечной точки / saml / sp / metadata».
Например, если вы хотите сгенерировать метаданные SP из определенной конечной точки, такой как / example / metadata, вам просто нужно заменить
"super (" / saml / sp / ", beanConfig);"
(в исходном коде, показанном ниже) с
"super (" / example / ", beanConfig);"
public SamlSecurity(BeanConfig beanConfig, @Qualifier("appConfig") AppConfig appConfig) {
super("/saml/sp/", beanConfig);
this.appConfig = appConfig;
}