当前位置: 首页 > 知识库问答 >
问题:

Springsaml SSO

翟泰
2023-03-14

我有一个使用spring security和mvc框架开发的门户应用程序。此门户应用程序连接到IDP(使用Spring security和Spring saml开发)进行身份验证。如果用户身份验证成功,用户将被导航到主页,其中为外部应用程序提供了多个链接……当用户单击应用程序链接时,用户应成功导航到相应的应用程序,而无需质疑登录页面。

其他应用程序是使用strut和Spring Security开发的。我如何确保当从门户单击链接时,saml令牌或上下文会传递给其他应用程序,因此它不会要求登录

任何帮助都非常感谢。

共有1个答案

胡越泽
2023-03-14

SAML最常见的流程如下所示:

  1. 应用程序(称为服务提供商或SP)从未经身份验证的用户处接收请求(任何请求,如对业务资源的请求
  2. 它将用户重定向(通常通过http重定向)到IdP(SP应该已经在其中注册)
  3. 如果用户未通过IdP身份验证(未登录到SSO),则会显示登录表单,并由IdP管理登录,直到用户与IdP进行会话
  4. 如果用户已经使用IdP进行了身份验证(因为他已经或输入了正确的用户/密码),IdP将发布其声明令牌,并将该令牌发送给SP(原始应用程序)中的断言使用者服务
  5. 断言使用者服务(实际上只是一个APIendpoint)接收并验证SAML令牌,并与用户创建自己的应用程序会话。现在,用户已通过应用程序(SP)的身份验证
  6. 在向应用程序(SP)发出下一个请求时,已经有一个会话,因此不涉及SAML

请注意,如果已经有与IdP的会话,则所有这些对于用户来说都是无缝的。发生了一系列重定向,但用户只需访问应用程序,而无需输入凭据。

因此,对您的问题的简短回答是,您的外部应用程序需要支持SAML SSO并需要在身份提供者处注册,在这种情况下,它们可以使用IdP来验证用户并签署它可能拥有的声明。

 类似资料:

相关问答

相关文章

相关阅读