13

我是单点登录(SSO)概念的新手。我开始知道 SAML 请求和响应是实现 SSO 流程的最佳方式。然后我开始阅读有关 SAML2.0 的信息。我在 saml2.0 中遇到了一个术语NameIdPolicy,而 saml1.0 中没有。

定义说这是我们向 IdP 请求的 NameID 的格式。我想知道该格式是什么?我的意思是来自 IDP 的哪些数据应该采用 NameIDPolicy 指定的格式?谁能向我简要介绍一下这个 NameIdPolicy 概念?

4

1 回答 1

21

根据SAML 2.0 核心规范NameIDPolicy

指定对用于表示请求主题的名称标识符的约束。如果省略,则可以使用身份提供者支持的所请求主题的任何类型的标识符,受任何相关部署特定策略的约束,例如隐私方面。

在执行身份联合时,关联方必须就委托人的关联账户的标识符达成一致。标识符字符串称为NameID,其规范(包括格式)是NameIDPolicy

例如,服务提供者 (SP) 通过向身份提供者 (IDP) 发送 AuthnRequest 来发起联合,其中包含

<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />

这告诉 IDP 它的响应断言 XML 应该包含类似

<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">user@example.com</saml:NameID>

其中电子邮件地址代表正在验证的主题。

您可以通过阅读SAML 2.0 维基百科页面(编写良好)、SAML 2.0 核心规范SAML 2.0 名称标识符文档了解更多信息。

于 2014-03-13T19:53:02.000 回答