urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress 是有效的 NameID 格式吗?
Posted
技术标签:
【中文标题】urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress 是有效的 NameID 格式吗?【英文标题】:Is urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress a valid NameID format? 【发布时间】:2015-07-29 19:41:44 【问题描述】:在 OASIS 规范中,我可以阅读以下有效的 nameid 格式:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos urn:oasis:names:tc:SAML:2.0:nameid-format:entity但找不到 urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress。
如果我进行快速谷歌搜索,这种格式会出现多次,包括Cisco Spark 的文档。
有人可以向我澄清这个问题吗?似乎有人发明了这种 nameid 格式,现在一些 IdP/SP 正在使用它。
【问题讨论】:
【参考方案1】:@smartin -- 你似乎在 OneLogin 工作,我最近提交了一张关于这个的票:-)。我认为你的预感是对的;有人看到有 SAML 1.1 和 SAML 2.0 并认为 urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
中的 1.1 是一个错误。
规范文档的第 8 节在开头提到了这一点:
以下部分为常见的资源访问操作、主题名称标识符格式和属性名称格式定义了基于 URI 的标识符。在可能的情况下,使用现有的 URN 来指定协议。对于 IETF 协议,使用指定协议的最新 RFC 的 URN。根据首次引入它们的规范集版本,专为 SAML 创建的 URI 引用具有以下词干之一:
urn:oasis:names:tc:SAML:1.0: urn:oasis:names:tc:SAML:1.1: urn:oasis:names:tc:SAML:2.0:
http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
由于电子邮件地址标识符是在 SAML v1.1 中引入的,所以这是有道理的。在此处查看第 7 节介绍和第 7.3.2 节 (https://www.oasis-open.org/committees/download.php/3406/oasis-sstc-saml-core-1.1.pdf)。
所以,tl;dr:urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress
与 SAML 1.1 和 SAML 2.0 规范相冲突。
【讨论】:
是的,我在 OneLogin 工作,我与您合作处理了您的票证。我想看看 OASIS 是否有人可以提供更多信息并确认我们的发现,以便我们可以要求 IdP/SP 遵循标准;)以上是关于urn:oasis:names:tc:SAML:2.0:nameid-format:emailAddress 是有效的 NameID 格式吗?的主要内容,如果未能解决你的问题,请参考以下文章