Spring - 如何使用 SAML 2.0 实现单点登录

Posted

技术标签:

【中文标题】Spring - 如何使用 SAML 2.0 实现单点登录【英文标题】:Spring - How to implement Single Sign-On with SAML 2.0 【发布时间】:2019-08-31 02:05:20 【问题描述】:

通常如何为 Spring MVC 应用程序实现带有 SAML 2.0 的 SSO?

我的应用程序需要实现 SSO,以便用户无需使用我的应用程序创建新帐户即可登录。

我的理解是,如果我错了,请纠正我,我需要一个服务提供者与第三方使用的身份提供者进行通信,以便交换元数据。但是我该如何实现这个过程呢?

另外,Spring MVC 应用端需要什么?

提前致谢:D

【问题讨论】:

你可以看看这个项目projects.spring.io/spring-security-saml @gusto2 我研究了 Spring Security SAML 项目。但是,我的问题是我不太确定我是否完全了解 SAML 2.0 的 SSO 是如何工作的。它是如何为 Web 应用程序实现的? 你有什么解决办法吗?这对我真的很有帮助.. 【参考方案1】:

https://github.com/spring-projects/spring-security-saml 实现 SAML SP 并通过 servlet 过滤器集成到 Web 应用程序中。有关 SAMLv2 SSO 概述,请查看 http://www.oasis-open.org/committees/download.php/27819/sstc-saml-tech-overview-2.0-cd-02.pdf

【讨论】:

以上是关于Spring - 如何使用 SAML 2.0 实现单点登录的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC 中的 Okta SAML 2.0 实现(不是 Spring 引导)

如何在 Spring Boot 中从 Azure SAML 2.0 应用程序获取角色或组

Angular(SPA) 前端和 Spring Boot 后端的 SAML 2.0 集成

配置 ADFS 3.0 / SAML 2.0 以使用 Spring Security 进行 SSO 集成

Nginx 背后的 Spring SAML 2.0

为啥 spring-saml-extension 和 adfs 2.0 返回 403 错误?