我可以定义具有非唯一名称但具有不同 NameFormats 的属性吗?

Can I define attributes with non-unique names but with different NameFormats?

我是 运行 Shibboleth SP(版本 2.4.3),我的属性 -map.xml 包括 "mail"

的默认映射
<!-- email -->
<Attribute name="urn:mace:dir:attribute-def:mail" id="mail"/>
<Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="mail"/>

客户端正在使用非 Shibboleth IdP,并且他们无法将 NameFormat 定义为 urn:oasis:names:tc:SAML:2.0:attrname-format:basic 以外的任何格式。 根据 Shibboleth wiki,如果 IdP 使用 urn:oasis:names:tc:SAML:2.0:attrname-format:uriurn:oasis:names:tc:SAML:2.0:attrname-format:unspecified 以外的 NameFormat,那么我必须在我自己的属性 - map.xml 中定义 NameFormat。

Can/should 我添加了第三个具有相同名称但定义了 "basic" nameFormat 的属性节点?我不想破坏我与以标准 Shibboleth 方式做事的客户的现有集成。

<!-- email -->
<Attribute name="urn:mace:dir:attribute-def:mail" id="mail"/>
<Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="mail"/>
<Attribute name="urn:mace:dir:attribute-def:mail" id="mail" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"/>

您可以在属性映射文件中添加任何属性,但您必须确保idP 在使用前发送它。 而且它不会影响任何现有连接。