2.2.2 复杂类型NameIDType

本博客采用知识共享署名 4.0 国际许可协议进行许可

当元素用字符串值表示实体时,要使用NameIDType复杂类型。它是一种比<BaseID>元素更受限制的标识符形式,是<NameID>和<Issuer>这两种元素的基础类型。除了包含实际标识符的字符串内容外,它还提供了下面的可选的属性:

  • NameQualifier [可选]

限定标识符的安全域或者管理域。该属性提供了一种方法,能够联合来自不同用户存储的标识符而不会发生冲突。

  • SPNameQualifier [可选]

用服务提供商或提供商的附属机构的名称来进一步限定标识符。该属性提供了一种额外的基于依赖方的联合标识符的方法。

  • Format [可选]

一个URI引用,用来表示基于字符串的标识符信息的分类。有关SAML定义的URI引用,请参见第8.3节,这些URI引用可用来作为Format属性的值及其相关描述和处理规则。除非基于此类型的元素另有规定,否则的话,如果没有提供Format的值,那么就生效默认值urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified (参见8.3.1小节)。

当使用第8.3节规定以外的格式值时,此类元素的内容应根据本规范之外提供的格式定义进行解释。如果格式的定义中没有另外指出,则匿名性、假名和关于断言方及依赖方的标识符持久性问题是特定于实现的。

  • SPProvidedID [可选]

由服务提供商或提供商附属机构为实体建立的名称标识符,如果与元素内容中给出的主名称标识符不同。该属性提供了一种将SAML使用的标识符与服务提供商已经使用的现有标识符集成的方法。例如,可以使用第3.6节中定义的名称标识符管理协议将现有标识符“关联”到实体。

这些属性的内容(或省略)的附加规则可以由使用这种类型的元素和特定的格式定义来定义。除非元素或格式明确定义了它们的用法和语义,否则,NameQualifier属性和SPNameQualifier属性应该被省略。

下面的schema片段定义了NameIDType复杂类型:

<complexType name="NameIDType">
    <simpleContent>
        <extension base="string">
            <attributeGroup ref="saml:IDNameQualifiers"/>
            <attribute name="Format" type="anyURI" use="optional"/>
            <attribute name="SPProvidedID" type="string" use="optional"/>
        </extension>
    </simpleContent>
</complexType>

译者注(义臻):上面的schema定义了NameIDType是一个复杂类型,这个复杂类型的值是string格式的,包含有列出的属性。这是XSD的语法。

Last updated

Was this helpful?