我正在尝试使用SAML来理解SSO。我遇到了RelayState参数,并且非常困惑为什么它在SSO中首先发送编码的URL?这到底是什么意思?
请从Google Developer留档中阅读以下内容:
Google生成一个SAML身份验证请求。SAML请求被编码并嵌入到合作伙伴SSO服务的URL中。包含用户试图访问的Google应用程序的编码URL的RelayState参数也嵌入到SSO URL中。此RelayState参数是一个不透明的标识符,在不进行任何修改或检查的情况下传回
根据SAML官方文件,
一些绑定定义了一种“RelayState”机制来保存和传递状态信息。当这种机制作为SAML协议的初始步骤用于传输请求消息时,它对随后用于传输响应的绑定的选择和使用提出了要求。也就是说,如果SAML请求消息伴随着RelayState数据,则SAML响应程序必须使用也支持RelayState机制的绑定返回其SAML协议响应,并且必须将其随请求接收的确切RelayState数据放入响应中相应的RelayState参数中。
RelayState是SP上资源的标识符,IDP将把用户重定向到该资源(成功登录后)。这是一种使SSO过程对用户来说更加短暂的方法,因为他们会再次被重定向到他们最初在SP上请求的同一个页面。
RelayState
的原始含义是SP可以将一些值与AuthnRequest
一起发送到IDP,然后将其取回。SP可以在RelayState
中输入它想要的任何值,IDP应该在响应中回显它。
此RelayState
参数是一个不透明的标识符,无需任何修改或检查即可传回
当使用Idp启动的登录时,RelayState
还有另一个事实上的标准用法。在这种情况下,没有来自SP的传入请求,因此没有要中继回的状态。相反,IDP使用RelayState
向SP发送信号,告知成功登录后SP应重定向到哪个URL。在标准(Bindings 4.1.5)中指出,RelayState“可能是服务提供商处资源的URL。”
谷歌似乎正在对目标URL使用RelayState
,即使是在SP发起的登录上,这也很好。但正如文件所说,IDP应该将其转发回去。
Java的类支持这里列出的转换。其中有几个变体: null 但在这种情况下,像ECB或CBC这样的分组密码模式怎么能“无填充”地使用呢?假设我们使用加密一个250位的消息。明文的第一个块显然是消息的前128位。第二个明文块的最后6位是多少?
假设我们有一个名为托管在tomcat上的服务提供商应用程序,用户单击指向SP a的链接。SP a没有看到提供的令牌,因此它会将用户重定向到IdP进行身份验证(通过某种方式提供SAML Authn请求)。然后,IdP将用户重定向到提供凭据的某个公共登录页面,假设这些凭据正确,IdP将创建一个SAML响应,其中包含一个令牌和一些关于主题的断言,并将其发送回SP a。SP a看到了这一点,并允许用户访问
如何使用SAML协议中的RelayState指定IdP启动的SSO中SP的登录页? 我在IdP和SP之间设置了一个IdP发起的SSO流程。它可以工作,但是它位于root_path。我需要这个登陆RelayState URL。 我正在使用device。在我的控制器下面找到:
摘要 我希望通过使用来自Django站点的身份验证来使用Dropbox SSO功能。请注意,我不希望使用SAML作为我的Django站点的后端。 资源 1)Dropbox自定义SSO帮助页面:https://www.dropbox.com/en/help/1921#custom 2)创建SAML响应:https://robinelvin.wordpress.com/2009/09/04/saml-
本文向大家介绍python使用xpath中遇到: 到底是什么?,包括了python使用xpath中遇到: 到底是什么?的使用技巧和注意事项,需要的朋友参考一下 前言 大家在学习python爬虫的过程中,会发现一个问题,语法我看完了,说的也很详细,我也认真看了,爬虫还是不会写,或者没有思路,所以我的所有文章都会从实例的角度来解析一些常见的问题和报错。下面话不多说了,来一起看看详细的介绍吧。 Elem
问题内容: Java中的引用到底是什么?它是一个内存地址吗?Java引用等同于取消引用的C ++指针吗? 换句话说,给出以下内容: 上面的比较是否等同于比较C ++中的两个指针? 问题答案: 相当于在C / C ++中比较两个指针,是的。 但是,Java中的引用和C / C ++中的指针之间有两个非常重要的主要区别: Java引用无法执行指针算术:不能将3引用“加”, 只能 使其指向另一个(已知)