Authentication 什么';在OAuth2 SAML授权授予中,主体确认的含义是什么?

Authentication 什么';在OAuth2 SAML授权授予中,主体确认的含义是什么?,authentication,oauth-2.0,saml,assertions,Authentication,Oauth 2.0,Saml,Assertions,描述了应用程序如何将断言作为授权授予提供给令牌端点。例如,允许这种方法使应用程序能够自主地请求用户帐户的访问令牌(只要用户已经为此授予了带外权限) 不过,我很难理解这个断言的含义。大部分都很清楚,例如 Issuer是生成(并签署)断言的一方 Subject是为其帐户请求访问令牌的用户 AudienceRestriction将受众限制在令牌端点 但我很难理解: AuthnStatement——根据SAML规范,我的理解是,此断言的发布者正在声明它(发布者)已对主题进行了身份验证。是这样吗 S

描述了应用程序如何将断言作为授权授予提供给令牌端点。例如,允许这种方法使应用程序能够自主地请求用户帐户的访问令牌(只要用户已经为此授予了带外权限)

不过,我很难理解这个断言的含义。大部分都很清楚,例如

  • Issuer
    是生成(并签署)断言的一方
  • Subject
    是为其帐户请求访问令牌的用户
  • AudienceRestriction
    将受众限制在令牌端点
但我很难理解:


  • AuthnStatement
    ——根据SAML规范,我的理解是,此断言的发布者正在声明它(发布者)已对主题进行了身份验证。是这样吗

  • SubjectConfirmation
    ——谁在确认这里的内容?SAML规范很有帮助地指出,该元素是“允许确认主题的信息”。但什么是确认?谁来执行,如何执行,何时执行,目的是什么


AuthnStatement
元素描述身份提供者的身份验证行为。 如果断言颁发者对主题进行了身份验证,则断言应包含表示该身份验证事件的单个事件

例如:

    <AuthnStatement AuthnInstant="2010-10-01T20:07:34.371Z">
            <AuthnContext>
              <AuthnContextClassRef>
    <!--Authentication method, was the client authenticated with digital cert, password, kerberos token?-->
                urn:oasis:names:tc:SAML:2.0:ac:classes:X509 

<!--For example, the Password class is applicable when a principal authenticates to an authentication authority through the presentation of a password over an unprotected HTTP session. -->
                urn:oasis:names:tc:SAML:2.0:ac:classes:Password

                urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos

              </AuthnContextClassRef>
            </AuthnContext>
          </AuthnStatement>
     <saml:SubjectConfirmation>
<!-- Mandatory -->
       Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
       <saml:SubjectConfirmationData>
<!-- The AuthRequest sent this ID -->
         InResponseTo="aaf23196-1773-2113-474a-fe114412ab72"
<!-- It was through HTTP POTS token endpoint URL -->
         Recipient="https://sp.example.com/SAML2/SSO/POST"
<!-- Not valid ON or After this Date-->
         NotOnOrAfter="2004-12-05T09:27:05"/>
     </saml:SubjectConfirmation>

是的,
AuthnStatement
来自此断言的发布者,声明其已对主题进行了身份验证


SubjectConfirmation
告诉希望依赖断言的实体如何确认所讨论的主题是此断言中引用的主题。也许断言是有效的,但它是否适用于发出请求的用户?如果该方法是无记名的,则在
notor
中的日期之前或之后能够向
Recipient
中引用的端点呈现该断言的任何受试者都将得到确认。如果该方法是密钥持有者,那么只有能够证明拥有嵌套的
KeyInfo
元素引用的密钥的主体才会被确认。

2020年,该主题和您仍然相关且有用:)您的答案有点不清楚,
SubjectConfirmation
又有什么意义?