gpt4 book ai didi

java - SSO 在 opensaml 中使用 saml2.0

转载 作者:行者123 更新时间:2023-11-29 05:41:48 24 4
gpt4 key购买 nike

我们有 4 个应用程序。我们希望在这些应用程序中实现 SSO。我对此有几个疑问。我们被建议使用 opensaml。

查询 1:

用户输入的用户名和密码由客户端(Ex.Front-end)发送给中间件,然后中间件将此信息发送给SSO服务器,那么在这种情况下用户是校长??中间件是服务提供者吗?SSO 服务器是身份提供者吗?

查询 2:

现在,当用户登录其中一个应用程序时,我们应该连接到身份提供者以启动 SSO,我们应该将哪些参数(强制)发送到 SSO 服务器?

查询 3:

当从 SSO 服务器获得响应后,中间件是否应该保留 token 以备将来引用?

查询 4:

现在,如果另一个用户点击另一个应用程序,那么应该确定有 sso 正在工作。如何识别?中间件是否应该为此访问 SSO 服务器?

请解决以上问题。

最佳答案

1) 是的,您描述的“中间件”是服务提供者,“SSO 服务器”是身份提供者。

2) 当用户尝试访问服务提供者上的 protected 资源时,它会将浏览器重定向到身份提供者。如果浏览器没有与身份提供者的 Activity session ,系统将提示用户输入登录详细信息。

随后,浏览器将连同对用户进行身份验证的 SAML 响应一起重定向回服务提供商。验证 SAML 响应后,服务提供商将重定向到 protected 资源。

一旦用户通过身份验证,服务提供者就可以保留自己的 session ,以保存为每个请求重定向到身份提供者。

3) 服务提供商(中间件)通常不会保留来自身份提供商的 SAML 响应,而是可以设置自己的 session 。例如,在 .Net 中,这可以通过表单例份验证关闭。

4) 当用户尝试访问另一个Service Provider时,浏览器将被重定向到Identity Provider。由于用户已经有一个 Activity session ,身份提供者将使用 SAML 响应重定向回服务提供者。然后,服务提供商将重定向到 protected 资源,并可选择创建它自己的 session 。

这对用户来说是无缝发生的,他们可以有效地直接登录到第二个服务提供商。

您还使用哪个平台进行开发?如果您使用的是 .NET 或 Java,那么我可以推荐开源库 OIOSAML .它包括服务和身份提供者的工作示例,因此您可以了解它们是如何工作的。

关于java - SSO 在 opensaml 中使用 saml2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17249462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com