Skip to content

Latest commit

 

History

History
50 lines (33 loc) · 2.91 KB

File metadata and controls

50 lines (33 loc) · 2.91 KB
description
本博客采用知识共享署名 4.0 国际许可协议进行许可

3.3.2.2.1 元素<RequestedAuthnContext>

<RequestedAuthnContext>元素指定了对SAML响应中返回的身份认证声明的认证上下文要求。它的RequestedAuthnContextType复杂类型定义了下列的元素和属性:

  • <saml:AuthnContextClassRef> 或 <saml:AuthnContextDeclRef> [一个或多个]

指定一个或多个标识身份认证上下文类或声明的URI引用。这些元素定义在2.7.2.2章节中。如果想了解关于身份认证上下文类的更多信息,可以参考[SAMLAuthnCxt]。

  • Comparison [可选]

指定用于评估请求的上下文类或声明的比较方法,其值是exactminimummaximum、或better中的一个。默认值是exact

要么使用一组类引用,要么使用一组声明引用。所提供的一组引用必须被看作是一个有序的集合来进行评估,其中第一个元素是最首选的身份验证上下文类或声明。如果根据下面的规则没有一个指定的类或者声明能被满足,那么响应者必须返回一个包含二级的<StatusCode>的<Response>消息,且这个二级的<StatusCode>的值为urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext

如果Comparison被设置为exact或者被省略,那么,身份认证声明中生成的身份认证上下文必须与至少一个指定的身份认证上下文完全匹配。

如果Comparison被设置为minimum,那么,身份认证声明中生成的身份认证上下文的认证强度必须至少与指定的身份认证上下文中的一个一样强(由响应者决定)。

如果Comparison被设置为better,那么,身份认证声明中生成的身份认证上下文的认证强度必须强于指定的身份认证上下文中的任何一个(由响应者决定)。

如果Comparison被设置为maximum,那么,身份认证声明中生成的身份认证上下文的认证强度必须尽可能的强,并且不超过至少一个指定身份认证上下文的强度(由响应者决定)。

下列的schema片段定义了<RequestedAuthnContext>元素以及它的RequestedAuthnContextType复杂类型:

<element name="RequestedAuthnContext" type="samlp:RequestedAuthnContextType"/>

<complexType name="RequestedAuthnContextType">
    <choice>
        <element ref="saml:AuthnContextClassRef" maxOccurs="unbounded"/>
        <element ref="saml:AuthnContextDeclRef" maxOccurs="unbounded"/>
    </choice>
    <attribute name="Comparison" type="samlp:AuthnContextComparisonType" use="optional"/>
</complexType>

<simpleType name="AuthnContextComparisonType">
    <restriction base="string">
        <enumeration value="exact"/>
        <enumeration value="minimum"/>
        <enumeration value="maximum"/>
        <enumeration value="better"/>
    </restriction>
</simpleType>