如何更改saml2p:wso2发送给IdP的NameIDPolicy?

时间:2016-12-15 14:04:54

标签: saml-2.0 wso2is pingfederate

我有一个WSO2IS 5.2作为联合中心。它发送给IdP的AuthnRequest(在本例中为PingFederate)包含此NameIDPolicy

   <saml2p:NameIDPolicy AllowCreate="true"
                         Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
                         SPNameQualifier="WSO2IS"
                         xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                         />

在PingFederate登录后,它会发回SAML消息,包括:

<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:StatusMessage>Cannot provide requested name identifier qualified with WSO2IS</samlp:StatusMessage>
    </samlp:Status>

我在PingFederate中尝试过uid并发送NameID值,但我总是得到这个回复。我想尝试更改wso2发送但未找到方法的NameIDPolicy格式。我认为它应该是SAML:2.0格式。

我发现只有IdP设置中的“包含NameID政策”复选框,但即使我取消选中并保存,它也会保持检查状态。

如何更改NameIDPolicy格式?

更新:我通过在PingFederate启用假名标识符并将用户名作为属性发送来解决问题。知道我的问题的答案仍然很好。

1 个答案:

答案 0 :(得分:0)

是的,你的理解是正确的。您可能需要更改NameIDPolicy。您可以在服务提供商(SP)创建页面中找到它。转到WSO2 IS管理控制台Home>service Provider>Add>

之后需要输入SP的名称并单击register按钮。

现在您处于服务提供商配置页面。

转到Inbound Authentication Configuration>SAML2 Web SSO Configuration>configure

您可以将此页面配置为SAML2 Web SSO配置,页面标题显示为 Register New Service Provider,然后转到NameID format更改urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress而不是urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress。 您可以从WSO2文档[1]中找到更多详细信息。

[1] https://docs.wso2.com/display/IS500/Configuring+Single+Sign-On+with+SAML+2.0