在SAML中,用户名和主体的NameID之间是否存在差异?

时间:2015-01-30 15:48:36

标签: saml saml-2.0

NameID是服务提供者和身份提供者用于标识主体(系统用户)的标识符。

所以,让我们说我要求一个服务提供商的用户输入用于登录的用户名和密码,用于登录另一个用户的SSN和密码,以及用于登录第三个用户的用户名和密码。几个服务提供商可以使用不同的用户名,但使用相同的NameID来识别SAML会话吗?

此外,是否可以让服务提供商在它们之间使用不同的NameID格式,或者它们是否必须是相同的值才能引用相同的主体?

1 个答案:

答案 0 :(得分:1)

名称标识符可以是任何内容;电子邮件地址或Kerberos主体名称是此类信息的常见示例。它们并不总是等于用户名。

直接来自Shib documentation。因此,您可以从您的IdP返回一个NameID,作为与用户名完全无关的内容。

要回答同样的问题,这一切都取决于您将服务提供商挂钩的身份提供商。很可能,听起来你想要的是多个身份提供者,它们返回相同的NameID格式。

在SAML 2.0中,您可以指定NameID可以返回的格式,这样您就可以在身份提供者之间拥有一个共同的模式,并防止使用疯狂的逻辑来解析可能返回的每个NameID。