Я реализую единый вход с использованием SAML для веб-приложения, использующего simplesaml php, drupal в качестве поставщика услуг / клиента и сервер идентификации WSO2 в качестве поставщика идентификации.
Когда я тестирую с использованием портала simplesaml, я могу правильно получить пользовательские данные, как показано на скриншотах ниже.
При интеграции с сайтом drupal ...
- Пользователь отправляется на страницу входа поставщика удостоверений для проверки подлинности.
- При успешной проверке подлинности они перенаправляются обратно в приложение, однако вместо доступа к приложению пользователь застревает на бесконечном уровне. oop на одной странице.
- Проверяя запросы SAML и ответы / файлы cookie, я вижу, что ответы SAML отправляются обратно клиенту, как показано на скриншотах ниже. Я также вижу несколько запросов назад и вперед между IDP и SP.
Пример запроса и ответа
https://gist.github.com/KalemaEdgar/adad5304ae98bf98d420b2c108b13307
На экране снимки ниже, зеленый цвет - это код состояния HTTP, а красный - элемент.
Запрос аутентификации для провайдера идентификации.
![Authentication request and response to/from the identity provider](https://i.stack.imgur.com/agSIL.png)
Ответ аутентификации с данными от провайдера идентификации.
![Authentication response with the data from the identity provider](https://i.stack.imgur.com/ZxmZR.png)
Снимок экрана, показывающий несколько перенаправлений. Страница просто остается там, и переменная SAMLRequest меняется.
![enter image description here](https://i.stack.imgur.com/mXpNJ.png)
Снимок экрана, показывающий, что процесс работает нормально при использовании портала simplesaml.
атрибуты выбираются с сервера идентификации WSO2
![Working fine](https://i.stack.imgur.com/sh3hU.png)