Spring SAML: альтернативные способы генерирования метаданных SP, кроме использования / saml / конечной точки метаданных - PullRequest
1 голос
/ 01 мая 2019

Справочная информация: мое веб-приложение работает в PROD, и его используют реальные пользователи.Первоначальная аутентификация была реализована с использованием Spring Basic Security.

Недавно клиент решил использовать SSO для аутентификации, поэтому мое приложение должно действовать как SP с клиентским IdP.Я использовал Spring SAML для настройки моего приложения в качестве SP.

Интеграция с IdP клиента в среде QA включает следующие шаги:

  1. Получение и сохранение файла метаданных IdP, полученного от клиента.
  2. Развертывание кода с конфигурацией SP в среде.
  3. Создание файла метаданных SP с использованием конечной точки /saml/metadata и предоставление его клиенту.
  4. Получить зеленый свет со стороны IdP клиента, который файл метаданных SP в нужном месте.
  5. Убедитесь, что SSO работает успешно.

Теперь пришло время развернуть конфигурацию SP SSO в среде PROD и интегрировать ее с клиентским PROD IdP.

Мне не нравится использовать описанный выше подход для PROD, поскольку реальные пользователи не смогут войти в приложение до тех пор, пока файл метаданных SP приложения не будет сгенерирован и помещен в нужное место в IdP клиента.

Может кто-нибудь сказать мне, как я могу заранее сгенерировать файл метаданных SP для своего приложения перед развертыванием конфигурации SSO на PROD?

Ответы [ 2 ]

1 голос
/ 02 мая 2019

(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;
}
0 голосов
/ 02 мая 2019

Пока вы знаете URI конечных точек и сертификат подписи, вы можете создавать их вручную и указывать в конфигурации.

...