SimpleSAMLphp как idp: метаданные не найдены

Я работаю над системой аутентификации SSO с использованием протокола SAML2. Поскольку у меня еще нет реальной информации о IDP, мне нужна была тестовая среда, поэтому я использовал образ докера это, который работал как шарм. Я могу без проблем получить к нему доступ через localhost:8080, а также войти в систему с тестовой учетной записью.

Но затем, когда я пытаюсь войти в свой SP (веб-сайт, над которым я работаю), хотя меня хорошо перенаправляют на idp в localhost:8080/simplesaml/saml2/idp/SSOService.php, я получаю сообщение об ошибке, сообщающее, что метаданные не найдены. вот трассировка стека:

SimpleSAML_Error_MetadataNotFound: METADATANOTFOUND('%ENTITYID%' => '\'\'')

Backtrace:
    3 lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:300 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaData)
    2 lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:320 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaDataConfig)
    1 modules/saml/lib/IdP/SAML2.php:330 (sspmod_saml_IdP_SAML2::receiveAuthnRequest)
    0 www/saml2/idp/SSOService.php:19 (N/A)

Кто-нибудь сталкивался с таким же? Потому что я действительно не понимаю, где SimpleSAMLphp пытается получить эти метаданные.

ПРИМЕЧАНИЕ :

  • Я могу вручную найти метаданные в localhost:8080/simplesaml/saml2/idp/metadata.php

  • Это старый проект, над которым я работаю, и это форк Symfony 1, поэтому я не могу использовать более свежие плагины. Поэтому для SSO я использую плагин это на стороне поставщика услуг.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
3
0
3 268
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наконец решено. Отправленный мной запрос аутентификации содержал пустое поле «эмитент», и это поле было необходимо на стороне idp, поскольку кажется, что simpleSAMLphp хранит метаданные SP в массиве, таком как Metdata['spName']. Так что, конечно, у них не было записи для пустой строки в качестве ключа.

Как именно вы установили метадату в свой SP / отправили ее в IDP?

user7075574 06.12.2019 17:32

Взгляните на ссылки, которые я разместил, об образе докера, который я использовал, и о плагине для создания запроса saml, все подробно описано в их документе. Для метаданных SP на стороне idp вам действительно не нужно создавать файл метаданных xml в этом случае, поскольку образ докера может использовать переменные среды. Это просто POC, не то, что я бы запускал в производстве.

PopHip 07.12.2019 11:05

Спасибо. Модуль, который я использую, требует метаданных SP в конечной точке.

user7075574 07.12.2019 15:28

Если вам не нужно что-то, что изменится, вы всегда можете использовать этот инструмент для создания ваших метаданных sp: samltool.com/sp_metadata.php

PopHip 09.12.2019 10:37

Решение должно быть включено в ответ, а не в нестабильные внешние ссылки/документы.

lilalinux 28.02.2020 09:02

Другие вопросы по теме