我们可以通过saml OneLogin java应用程序登录ADFS iDP . 我们按照以下步骤将依赖方(ADFS)的声明规则编辑为:
-
启用回复电子邮件地址作为回应 .
-
右键单击信赖方信任,然后选择编辑声明规则....
-
在“发行转换规则”选项卡上,选择“添加规则...” .
-
选择“将LDAP属性作为声明发送”作为要使用的声明规则模板 .
-
为声明提供名称,例如NameID .
-
将属性存储设置为Active Directory,将LDAP属性设置为电子邮件地址,将传出声明类型设置为电子邮件地址 .
-
选择完成 .
-
选择添加规则....
-
选择“将传入声明转换为要使用的声明规则模板” .
-
为其命名,例如Email to NameID . 传入的声明类型应为电子邮件地址,传出的名称ID格式为电子邮件 .
-
选中“遍历所有声明值”,然后单击“完成” .
但它给出了以下例外情况:
Microsoft.IdentityServer.Protocols.Saml.InvalidNameIdPolicyException:MSIS7070:SAML请求包含已颁发的令牌不满足的NameIDPolicy . 请求的NameIDPolicy:AllowCreate:True格式:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier :.实际NameID属性:null .
请告知如何解决此错误 . 谢谢你的帮助 .
1 回答
我已经解决了这个例外 . 它需要在ADFS服务器上的Active Directory用户和计算机的属性中添加电子邮件地址 . 此外,NameID格式属性应设置为“urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress”感谢大家的支持 . 希望这可能对某人有所帮助 .