SAML 2.0中的收件人与受众

时间:2016-08-04 22:04:28

标签: saml saml-2.0

有人可以解释SAML 2.0中收件人受众之间有什么区别?

我在OneLogin发现了一个非常含糊的解释: https://support.onelogin.com/hc/en-us/articles/202673944-How-to-Use-the-OneLogin-SAML-Test-Connector

  

收件人会告诉您SAML响应的具体信息,但受众会在更广泛的层面上告诉您响应的位置。例如,收件人可能是洋基球场,而观众可能是纽约市。

但是,我并非100%确定它是正确的。我见过观众比收件人更具体。

1 个答案:

答案 0 :(得分:4)

收件人与SAML断言的主题元素相关联,该主题元素与执行身份验证的用户或主题相关,并且主题数据由IdP授予该特定收件人(SP)谁可以对断言采取行动。

主题数据,例如NameID格式,值(在IdP和SP之间唯一标识用户或主题),NameID值以什么标记格式(例如:承载标记),谁是标记的收据和有效性。通常,Receipt将是收到断言的SP端点。

   ...
   <saml:Subject>
     <saml:NameID
       Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
       3f7b3dcf-1674-4ecd-92c8-1544f346baf8
     </saml:NameID>
     <saml:SubjectConfirmation
       Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
       <saml:SubjectConfirmationData
         InResponseTo="aaf23196-1773-2113-474a-fe114412ab72"
         Recipient="https://sp.example.com/SAML2/SSO/POST"
         NotOnOrAfter="2004-12-05T09:27:05"/>
     </saml:SubjectConfirmation>
   </saml:Subject>
   ...

受众与SAML断言的Condition元素相关联,并告知在哪些安全条件或上下文中,断言有效并提供与此类有效性相关的一些条款和条件(如断言的时间有效性)谁可以使用断言等)。通常,Audience将为SP的EntityID。

   ...
   <saml:Conditions
     NotBefore="2004-12-05T09:17:05"
     NotOnOrAfter="2004-12-05T09:27:05">
     <saml:AudienceRestriction>
       <saml:Audience>https://sp.example.com/SAML2</saml:Audience>
     </saml:AudienceRestriction>
   </saml:Conditions>
   ...

受众和收据是针对SAML断言中的特定目的进行布局的,并且不能盲目地认为它们将具有与其值相同的SP URL。此外,它依赖于IdP实现,IdP和SP协商了SAML断言的Audience和Receipt元素中使用的值。