如何使Shibboleth IdP以emailAddress格式发送属性?

Big*_* Ed 5 shibboleth

我正在尝试配置Shibboleth身份提供程序以与现有的SAML 2.0服务提供程序一起使用(我假设它也是Shibboleth),但是它失败,并显示InvalidNameIDPolicy状态和以下错误消息。

Required NameID format not supported
Run Code Online (Sandbox Code Playgroud)

AuthnRequest消息具有以下限制。

<samlp:NameIDPolicy 
    AllowCreate="true" 
    Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"/>
Run Code Online (Sandbox Code Playgroud)

如何创建所需类型的属性?如何更改attribute-resolver.xml中的以下属性定义以具有正确的格式?

<resolver:AttributeDefinition xsi:type="ad:Simple" id="email" 
                              sourceAttributeID="EMAIL">
    <resolver:Dependency ref="myRef" />
    <resolver:AttributeEncoder xsi:type="enc:SAML1String" 
                               name="urn:mace:dir:attribute-def:mail"/> 
    <resolver:AttributeEncoder 
         xsi:type="enc:SAML2String" 
         name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail"/> 
</resolver:AttributeDefinition>
Run Code Online (Sandbox Code Playgroud)

谢谢。

Big*_* Ed 4

答案是在列表的开头添加以下 AttributeEncoder。

<resolver:AttributeEncoder 
     xsi:type="enc:SAML2StringNameID"
     nameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />
Run Code Online (Sandbox Code Playgroud)