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

时间:2012-04-13 23:19:14

标签: single-sign-on saml saml-2.0 shibboleth

针对SAML 2 IdP执行authn时,主题名称标识符应该用于什么?它是否跟踪每个用户登录?

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

2 个答案:

答案 0 :(得分:9)

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

的第8.3节

答案 1 :(得分:7)

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

第一个属性是 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中用户的名称标识符时,持久标识符非常有用。