SAML 2 主题名称标识符的用途是啥?

Posted

技术标签:

【中文标题】SAML 2 主题名称标识符的用途是啥?【英文标题】:What is the purpose of SAML 2 Subject Name Identifier?SAML 2 主题名称标识符的用途是什么? 【发布时间】:2012-04-26 07:53:37 【问题描述】:

在针对 SAML 2 IdP 执行身份验证时,主题名称标识符应该用于什么?它会跟踪每个用户的登录吗?

我想知道我的 SAML 2 服务提供商应用程序是否应该为不同的用户跟踪这些。由于它们是瞬态的,因此对于不同的登录,它们可能会有所不同(因此我需要使用挂在用户帐户之外的集合进行跟踪)。

【问题讨论】:

【参考方案1】:

<NameIdentifier> 元素是一个 SAML 1.1 概念。它已被标识主题的<NameID> 元素所取代。 NameID 不一定是临时的 - 请参阅 SAML 2.0 核心 specification 的第 8.3 节

【讨论】:

【参考方案2】:

名称标识符包含几个属性。

第一个属性是NameQualifier,它指定用户在IDP的安全域。安全域有助于区分使用相同名称标识符的不同用户。

第二个属性是SPNameQualifier,指定用户在SP的安全域。

第三个属性是Format,它指定应该如何解释名称标识符。

例如,电子邮件地址名称标识符格式用于当用户希望在 IDP 和 SP 中使用相同的名称标识符时。这意味着如果用户在 IDP 中以 alice@domain.com 登录,则用户在 SP 中也以 alice@domain.com 登录。

另一个例子,当用户不想在 IDP 和 SP 中使用相同的名称标识符时,使用持久标识符。这意味着用户可以在 IDP 中以 alice@idp.com 身份登录,但在 SP 中以 bob@sp.com 身份登录。这是通过使用IDP和SP同意的标识符来实现的,例如12345,该标识符在IDP中映射到alice@idp.com,在SP中映射到bob@sp.com。当您不希望 SP 知道 IDP 中用户的名称标识符时,持久标识符很有用。

【讨论】:

以上是关于SAML 2 主题名称标识符的用途是啥?的主要内容,如果未能解决你的问题,请参考以下文章

SAML 工件的用途是啥?

Sid 属性在关键策略中的用途是啥?

能够唯一标识某一控件的属性的是啥

在函数的签名中,如果星号后面没有标识符名称,那么它在 Python 中的含义是啥? [复制]

SQL关键字“AS”的用途是啥?

java中的数组元素标识符是啥?