我已经在adfs依赖方信任上配置了一个应用程序,所以我可以使用adfs/sso登录。之后,我安装了simplesamlphp来处理该登录,并处理响应saml。
这是我的authsources:
'myauth' => array(
'saml:SP',
'idp' => 'http://domain/adfs/services/trust',
'privatekey' => 'saml.key',
'certificate' => 'saml.crt',
), 但是在登录后,在返回的帖子中我会得到以下错误:
登录期间异常:请求者/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 (N/A)
我是不是遗漏了什么?我怎样才能得到那个名字id政策?在哪里定义它?
谢谢
发布于 2013-11-06 20:29:18
simplesamlphp通常使用UPN或电子邮件作为NameID。您需要签入配置。
因此,在ADFS中,创建两个索赔规则:
一个创建声明( UPN或电子邮件)--正常的LDAP声明。
和一个转换,采取上述和转换为一个NameId声明与一种类型的“瞬态”。
同样,simplesamlphp可能不会使用瞬态--您需要在配置中签入。
更新:
假设UPN:
C:[ == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",Issuer == "AD AUTHORITY"] =>问题(存储= "Active Directory",Type= ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"),query =“;user主名;{0}”,param = c.Value);
C:[ ==“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"] =http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
https://stackoverflow.com/questions/19816803
复制相似问题