Как я могу сгенерировать файл метаданных моего приложения Java Spring, чтобы установить соединение с провайдером идентификации, таким как Ping Federate? - PullRequest
0 голосов
/ 08 апреля 2019

Я работаю с системой единого входа (SSO) в течение некоторого времени.Я использую Ping Federate в качестве провайдера идентификации (IdP) и образец приложения с пружинной загрузкой Java в качестве провайдера услуг (SP).Используется протокол SAML.

Я скачал приложение Spring из https://start.spring.io с зависимостями "Web" и "Security" и с нетерпением жду установления соединения.При настройке необходимо загрузить файл метаданных приложения Spring, которое в данном случае является поставщиком услуг, в Ping Federate.Я хочу знать, как я могу сгенерировать файл метаданных для моего весеннего приложения?

Я сослался на некоторые документы, но не мог с собой поделать.https://docs.spring.io/spring-security-saml/docs/1.0.0.RELEASE/reference/html/chapter-quick-start.html

Любая помощь будет очень полезна.

1 Ответ

0 голосов
/ 12 апреля 2019

Чтобы ответить на ваш вопрос «как сгенерировать файл метаданных для моего весеннего приложения?»,

(1) Я скачал последнюю версию Ping Federate, т.е. pingfederate-9.2.2.zip

(2) В Ubuntu 16.04 я собрал «Ping Federate в качестве провайдера идентификации (IdP) и образец приложения с пружинной загрузкой Java в качестве провайдера услуг (SP)» со ссылкой на информацию, предоставленную вашим постом.

(3) Затем я успешно проверил связь SAML между «Ping Federate в качестве поставщика удостоверений (IdP)» и «образцом приложения Java с начальной загрузкой в ​​качестве поставщика услуг (SP)» со ссылкой наинформация, предоставленная вашим сообщением.

Следующие ответы и ответы помогут вам войти в «мое весеннее приложение (в качестве поставщика услуг)» через единый вход SAML, предоставленный «Ping Federate (как поставщик удостоверений»).(IdP)) ".

(1) Цитировать ваше сообщение" Я скачал весеннее приложение из https://start.spring.io с зависимостями "Web" и "Security" и ищу впередd для установления соединения. "

Ответ :

Я выполнил те же задачи, что и вы, выполнив приведенные ниже команды.

# Download demo.zip from https://start.spring.io with "Web" and "Security" dependencies 

$unzip demo.zip

$cd demo

$sudo mvn package

$sudo cp target/demo-0.0.1-SNAPSHOT.war /opt/tomcat/webapps/

$ls /opt/tomcat/webapps/demo-0.0.1-SNAPSHOT/WEB-INF/
classes  lib  lib-provided

Теперь мы обнаруживаем, что весеннее приложение (загруженное с зависимостями "Web" и "Security") НЕ было установлено с SAML SP.Другими словами, весеннее приложение НЕ является приложением с поддержкой SAML SP.Поэтому «я НЕ могу сгенерировать файл метаданных для своего весеннего приложения».

(2) Цитировать ваше сообщение «Я ссылался на некоторые документы, но не мог с собой поделать. https://docs.spring.io/spring-security-saml/docs/1.0.0.RELEASE/reference/html/chapter-quick-start.html"

Ответ :

Цитируйте важную информацию, представленную по приведенной выше ссылке "spring-security-saml" в своем сообщении

4.2.1 Downloading sample application 

Download the Spring SAML Extension either from sources or from one of the releases.

(I) Нажмите кнопкуссылка «из источников» в репозитории GitHub.

Затем щелкните папку «samples» (т. е. spring-security-saml / samples / ), чтобы прочитать READMEна "Как запустить простой образец Identity Provider (IDP) и Service Provider (SP)".

(II) Следуйте инструкциям README, я проверил "SP-инициированный логин и IDP-инициированный логин"успешно.

Поскольку примеры приложений жестко закодировали имя хоста как localhost,

без потери общности, изменив файл хоста DNS вашего локального компьютера для демонстрационных целей, мы предполагаем, что

имя хоста "Ping Federate as Ident"ity Provider (IdP) "- это ping.example.com

, имя хоста" примера приложения для весенней загрузки Java как поставщика услуг (SP) "- localhost

(3)Ваш вопрос "Требуется загрузить файл метаданных приложения Spring, которое в данном случае является Поставщиком услуг, в Ping Federate при выполнении настройки.Я хочу знать, как я могу сгенерировать файл метаданных для моего приложения Spring? "

Ответ :

(I) Доступ к конечной точке файла метаданных SAML SP пружиныприложение, созданное с использованием «spring-security-saml / samples /»,

http://localhost:8080/sample-sp/saml/sp/metadata

для «генерации / загрузки файла метаданных для моего приложения Spring», то есть saml-sp-metadata.xml

(II) Загрузить файл метаданных для моего весеннего приложения (например, saml-sp-metadata.xml) в «Ping Federate as Identity Provider (IdP)» *

(III) Загрузите файл метаданных IdP «Федерация Ping в качестве поставщика удостоверений (IdP)» в «Приложение Spring в качестве поставщика услуг (SP)»

(a) Добавьте приведенный ниже код в конце конфигурациифайл «Приложение Spring в качестве поставщика услуг (SP)»

$sudo vi  spring-security-saml/samples/boot/simple-service-provider/src/main/resources/application.yml 

        - alias: pingfederate
          metadata: https://ping.example.com:9031/pf/federation_metadata.ping?PartnerSpId=spring.security.saml.sp.id
          link-text: Ping Federate IDP
          authentication-request-binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST

(b) Перезапустите приложение Spring в качестве поставщика услуг (SP), выполнив README в разделе «Как запустить».простой пример Identity Provider (IDP) и Service Provider (SP) "в репозитории GitHub

для загрузки метаданных IdPданные "Ping Federate как провайдер идентификации (IdP)" в "мое весеннее приложение как провайдер услуг (SP)".

(IV) Проверка единого входа SAML, предоставленного Ping Federate (в качестве поставщика удостоверений (IdP)) для моего весеннего приложения (в качестве поставщика услуг (SP))

(a) Access Ping Federate IdP инициировал конечную точку единого входа для «моего весеннего приложения в качестве поставщика услуг (SP)»

https://ping.example.com:9031/idp/startSSO.ping?PartnerSpId=spring.security.saml.sp.id

(b) Введите свое имя пользователя / пароль (например, johndoe / password) Ping Federate локальной учетной записи пользователя во всплывающее диалоговое окно

(c) Вы перенаправлены и успешно вошли в мое весеннее приложение как поставщик услуг (SP).

Следующее сообщение будет отображаться на главном экране приложения Spring в качестве поставщика услуг (SP).

Success                             User:johndoe 

You are authenticated! 
...