有人可以解释SAML 2.0中收件人和受众之间有什么区别?
我在OneLogin发现了一个非常含糊的解释: https://support.onelogin.com/hc/en-us/articles/202673944-How-to-Use-the-OneLogin-SAML-Test-Connector:
收件人会告诉您SAML响应的具体信息,但受众会在更广泛的层面上告诉您响应的位置。例如,收件人可能是洋基球场,而观众可能是纽约市。
但是,我并非100%确定它是正确的。我见过观众比收件人更具体。
答案 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元素中使用的值。