Я успешно внедрил SAML в своем приложении на локальном компьютере (127.0.0.1). Сначала я использовал PHP-SAML из OneLogin в качестве вступления к SAML, но изменил свой код для работы с Okta в качестве IDP и моего приложения в качестве SP. Все отлично работает в моих локальных тестах. Однако при перемещении кода на мою виртуальную машину я получаю следующую ошибку:
Ответ SAML не найден, поддерживается только HTTP_POST Binding
Я использовал расширение SAML Tracer в Firefox и SAML Message Decoder в Chrome, которые показывают, что я получаю ответ, но суперглобальные переменные GET и POST оба пусты. Заголовки HTTP от SAML Tracer показывают, что существует перенаправление, отсюда:
302 найдено
Вот скриншоты ответа SAML от Tracer:
Я не уверен, куда идти отсюда. Глобал POST на моей виртуальной машине полностью пуст, а глобал GET имеет acs
параметр с пустой строкой в качестве значения; все же глобальный POST на моей локальной машине имеет SAMLResponse
а также RelayState
и пустая строка как его $_GET['acs']
,
302 не найден — это перенаправление. После этого ваши переменные будут пустыми, что соответствует тому, что вы видите. Вам нужно проверить, что может перенаправить ваш запрос, как только он попадет на вашу виртуальную машину. Если он работает в вашем регионе, вы на правильном пути.
Других решений пока нет …