Я настраиваю единый вход (как поставщик услуг) через SimpleSAML. После импорта метаданных из XML поставщика удостоверений первое перенаправление сработало.
Однако войти в систему не удается с sspmod_saml_Error: Requester/InvalidNameIDPolicy: An error occurred.
и провайдер идентификации (idp) сообщает мне, что запрос должен включать
format: urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
Вместо того
format: urn:oasis:names:tc:SAML:2.0:nameid-format:transient
Единственное, что я нашел в руководстве SimpleSAML, относится к конфигурации idp (руководство). Однако, когда я добавляю это в metadata/shib13-sp-remote.php
ан metadata/saml20-sp-remote.php
...
$metadata['<same URL as in metadata/saml20-idp-remote.php>'] = array (
'NameIdFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent'
);
... тогда ничего не меняется. Запрос по-прежнему содержит:
<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" AllowCreate="true"/>
Это не неожиданно, поскольку я пытаюсь настроить запрос на idp, а не на sp. Итак, в полном отчаянии, я тоже попытался установить NameIdPolicy
на то же значение, и я также пробовал файлы ...- idp-remote.php, но (как и ожидалось) это тоже не помогло. И я также попробовал использовать идентификатор поставщика услуг в качестве ключа для метаданных $, но ... ну.
Также попробовал модификацию metadata/saml20-ipd-hosted.php
как описано Вот, но это тоже не повлияло.
Это действительно рыбалка в темноте, в документации SimpleSAML отсутствует какая-то основная информация (где, например, поставить эти параметры) ... Итак, я предполагаю, что у меня неправильный файл, неправильный ключ или неправильная настройка. Любые подсказки приветствуются. Спасибо!
После поиска и поиска я обнаружил, что это поведение жестко запрограммировано в SimpleSAML в modules/saml/lib/Message.php
$policy = array(
'Format' => $nameIdPolicy_cf->getString('Format', \SAML2\Constants::NAMEID_TRANSIENT),
'AllowCreate' => $nameIdPolicy_cf->getBoolean('AllowCreate', true),
);
Изменение этого не решило проблему связи с IdP ... так что, вероятно, это нормально, что это так.