解释ADFS声明规则

时间:2016-11-07 15:05:03

标签: saml saml-2.0 adfs

我有很多使用SSO的客户端,因为我们使用SAML 2.我的许多客户使用Okta,PingIdentity和其中一些ADFS等提供商。始终在开始时与ADFS集成引发错误,然后他们通过以下设置修复此问题:

转换传入声明

  • 收到的索赔= UPN

  • 外发索赔=姓名ID

  • 传出名称ID格式=电子邮件

我们在saml响应中看到的错误是他们没有发送nameID,而是我们看到:

<samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester"><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"/></samlp:StatusCode></samlp:Status>

ADFS集成正好发生这种情况,我想知道我应该了解ADFS上的声明规则,以便解决此错误并向以下使用ADFS的客户端解释。

1 个答案:

答案 0 :(得分:0)

这是转化声明规则。

在客户端元数据中,您应该看到类似的内容:

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
        <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
        <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>

这些是允许的NameID格式。

传出的NameID格式必须是其中之一。

所以,例如电子邮件将是:

Incoming claim = Email

Outgoing Claim = NameID

Outgoing name ID format = Email

您将首先拥有正常的电子邮件LDAP规则,然后是上面的转换规则。