如何在用于SAML 2.0 Web浏览器SSO的AuthnRequest中标识主体 [英] How is the principal identified in the AuthnRequest for SAML 2.0 Web Browser SSO

查看:17
本文介绍了如何在用于SAML 2.0 Web浏览器SSO的AuthnRequest中标识主体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是SAML新手,完全理解完整的SAML2SSO过程有点困难。

具体地说,当服务提供商使用元素响应资源请求时,元素中的哪条数据标识要由身份提供商验证的主体(即用户)?

例如,在以下AuthnRequest中似乎没有标识主体的内容:

<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59"
AssertionConsumerServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
  AllowCreate="true"
  Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/></samlp:AuthnRequest>

标识主体的信息是在AuthnRequest到达浏览器(可能来自Cookie?)之后添加的,还是标识特定用户的信息根本不会发送到身份提供程序?

SAML

规范对身份验证请求(推荐答案配置文件,http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf,4.1.4.1节)规定如下:

请注意,服务提供商可能会将<Subject>元素包括在 请求,该请求命名它希望与之相关的实际身份 接收断言。

但是,这很少使用,并且没有在不同的提供程序/堆栈中广泛实现,因此您的里程数可能会有所不同。事实上,有一些部署配置文件明确禁止使用<Subject>,例如http://saml2int.org/profile/current/第8.2节说:

<saml2p:AuthnRequest>消息不能包含<saml2:Subject> 元素。

通常的交互是服务提供商确定身份提供商,而不是用户。后者留给身份提供者,包括身份验证和身份验证。这是一个更干净的界面,避免了两者之间关于标识符和帐户的潜在冲突。

这篇关于如何在用于SAML 2.0 Web浏览器SSO的AuthnRequest中标识主体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆