ADFS 2.0 InvalidNameIDPolicy
Я настроил приложение на доверие доверяющей стороны adfs, поэтому я могу войти в систему с помощью adfs / sso. После этого я установил simplesamlphp, чтобы разобраться с этим логином и обработать ответ saml.
это мой конфиг authsources:
'myauth' => array(
'saml:SP',
'idp' => 'http://domain/adfs/services/trust',
'privatekey' => 'saml.key',
'certificate' => 'saml.crt',
),
но после входа в систему, в ответном сообщении я получаю следующую ошибку:
Исключение при входе в систему: sspmod_saml_Error: Requester/InvalidNameIDPolicy Backtrace: 3 /home/......../adfs/simplesamlphp/modules/saml/lib/Message.php:376 (sspmod_saml_Message::getResponseError) 2 /home......../adfs/simplesamlphp/modules/saml/lib/Message.php:503 (sspmod_saml_Message::processResponse) 1 /home/......../adfs/simplesamlphp/modules/saml/www/sp/saml2-acs.php:81 (требуется) 0 /home/......../adfs/simplesamlphp/www/module.php:135 (нет данных)
Я что-то пропустил? Как я могу получить эту политику идентификации имени? Где это определить?
Спасибо
1 ответ
simplesamlphp обычно использует UPN или электронную почту в качестве NameID. Вы должны проверить в конфиге.
Итак, в ADFS создайте два правила для утверждений:
Один для создания заявки (UPN или по электронной почте) - обычный LDAP.
И Transform, который берет вышеупомянутое и преобразовывает в утверждение NameId с типом "переходного процесса".
Опять же, simplesamlphp может не использовать переходный процесс - вам нужно проверить в конфигурации.
Обновить:
Предположим, UPN:
c: [Type == " http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => проблема (store = "Active Directory", типы = (" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = "; userPrincipalName; {0}", param = c.Value);
c: [Type == " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => проблема (Type = " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties [" http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] =" urn: oasis: names: tc: SAML: 2.0: nameid-format: transient ");