我已经在 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:
请求者/InvalidNameIDPolicy 回溯: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
(不适用)
我错过了什么吗?我如何获得该名称 ID 政策?在哪里定义它?
Thanks
simplesamlphp 通常使用 UPN 或电子邮件作为 NameID。您需要检查配置。
因此,在 ADFS 中,创建两个声明规则:
用于创建声明(UPN 或电子邮件)的一种 - 普通 LDAP 的一种。
以及一个 Transform,它接受上述内容并转换为“transient”类型的 NameId 声明。
同样,simplesamlphp 可能没有使用瞬态 - 您需要检查配置。
Update:
假设 UPN:
c:[类型 == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", 发行者 == "AD AUTHORITY"]
=> 问题(store = "Active Directory", 类型 = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), 查询 = ";userPrincipalName;{0}", param = c.Value);
c:[类型 == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn”]
=>问题(类型=“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier“,发行者 = c.Issuer,OriginalIssuer = c.OriginalIssuer,值 = c.Value,ValueType = c.ValueType,属性[”http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)