Как настроить приложение (SP) для использования централизованного IdP компании в SAML на PHP?

В нашей организации есть несколько приложений на основе PHP. Три рассматриваемых объекта подключаются к нашим организациям SAML IdP. Все они, за исключением одного, были готовыми приложениями со встроенными средствами SAML.

У нас есть третье приложение, которое является одноразовым, но в настоящее время для него не настроен SAML. Мы загрузили и начали настраивать SimpleSAMLphp, и мне также предоставили метаданные люди, которые управляют IdP.

Я знаю, что одним из пунктов SAML является то, что приложения SP не видят учетные данные пользователей, а также, очевидно, для функциональности единого входа.

Мои вопросы:

  • Когда пользователь щелкает ссылку «Войти», чтобы перейти на нашу страницу входа, что нам нужно сделать, чтобы направить пользователя на страницу входа в IdP и, кроме того, отправить его обратно на SP?
  • Во время отладки другого нашего приложения я увидел, что существует запрос Saml, который генерируется и отправляется POST в конечную точку. Я предполагаю, что это ответ на мой первый вопрос, но я не уверен, как сгенерировать этот запрос Saml.

Что нам нужно сделать, чтобы заставить это приложение работать как просто поставщик услуг? Здесь нам не нужно настраивать IdP.


person Barry Chapman    schedule 28.06.2019    source источник


Ответы (1)


  • Когда пользователь щелкает ссылку «Войти», чтобы перейти на нашу страницу входа, что нам нужно сделать, чтобы направить пользователя на страницу входа в IdP и, кроме того, отправить его обратно на SP?

Администратор IdP предоставит вам информацию о том, как получить доступ (и использовать) IdP. Одним из примеров может быть простой URL-адрес перенаправления, который пользователь должен открыть или перенаправить. Затем происходит аутентификация между пользователем и IdP. Это займет «вне» вашего контроля или обслуживания.

В какой-то момент пользователь будет перенаправлен обратно на предварительно настроенный URL-адрес вашего сервиса. Точка доступа должна существовать в вашей службе, и об этом заранее было сообщено администратору поставщика удостоверений. Администратор должен установить этот «URL возврата» в IdP. Запрос от поставщика удостоверений в вашей точке доступа к службе будет содержать ответ SAML от поставщика удостоверений (документ XML). Вы должны проанализировать этот ответ SAML, проверить его правильность и извлечь из него идентификатор пользователя. Тогда вы знаете, кто именно хочет воспользоваться вашим сервисом и может использовать эту информацию в вашем сервисе.

  • Во время отладки другого нашего приложения я увидел, что существует запрос Saml, который генерируется и отправляется POST в конечную точку. Я предполагаю, что это ответ на мой первый вопрос, но я не уверен, как сгенерировать этот запрос Saml.

В зависимости от поставщика удостоверений вам может не понадобиться создавать запрос SAML. Вы можете просто перенаправить пользователя на страницу входа в IdP. Но это зависит от конфигурации IdP для вашего сервиса.

person Progman    schedule 28.06.2019