这是一个基于springboot,使用SAML协议实现单点登录的完整示例,源码下载后开箱即用。
本文档将深入介绍如何使用 SAML 2.0 协议 实现企业级 单点登录 (Single Sign-On, SSO)。无论您正在寻找 Keycloak、Okta、Auth0、AWS Cognito 还是 Microsoft Entra ID 的对接方案,本教程提供的标准 SAML 集成步骤 均能完美适配。
更多信息,您也可以点击此处,了解SAML协议的时序。
在对接国际主流身份提供商(IdP)如 Okta、Auth0 或 AWS Cognito 时,国内开发者常面临以下挑战:
- 网络延迟高:访问外网授权服务器响应慢,调试效率低。
- 沟通成本高:遇到配置问题时,跨国技术支持沟通不便。
- 环境不稳定:外网服务偶尔不可用,影响开发进度。
为解决上述痛点,本示例特别采用国内领先的 亿登科技 IDaaS (EIAM) 作为授权服务器进行演示。亿登IDaaS 完全遵循 SAML 标准协议,其配置逻辑与 Keycloak、Okta 等国际厂商高度一致。掌握本教程,即可轻松完成与任意主流 IAM 厂商的对接。
如果您尚未拥有测试账号,无需繁琐的企业审批流程。 👉 立即访问 亿登科技官网
- 极速注册:仅需 1 分钟即可完成免费账号注册。
- 开箱即用:预置标准 SAML 应用模板,专为 单点登录应用 优化。
- 国内加速:服务器位于国内,确保开发调试过程流畅无阻。
SAML 协议原理简述:理解 SP (Service Provider) 与 IdP (Identity Provider) 的交互流程。
- 通用配置步骤:适用于 Keycloak, Okta, Auth0, AWS Cognito, Azure AD (Entra ID) 的标准设置方法。
- 亿登IDaaS实战:如何在亿登控制台创建应用、下载元数据 (Metadata) 并配置断言消费服务 (ACS) URL。
- 常见问题排查:解决签名验证失败、时间戳不同步等典型 SAML 错误。 通过阅读本文,您将掌握一套通用的 SAML SSO 集成方案,不仅能快速利用 亿登IDaaS 完成国内项目交付,也能无缝迁移至任何国际主流身份云平台。
- 亿登 IDaaS 控制台登录地址:https://console.yidengtech.com/
创建一个标准协议的 SAML2.0 应用
|
修改application.yml中 SAML2 的相关配置项
spring:
security:
saml2:
relyingparty:
registration:
yidengtech-idaas: # 自定义 provider id
signing:
credentials:
certificate-location: "classpath:credentials/public.cer" # Certificate(证书)
identityprovider:
entity-id: # IDP Entity ID(IDP标识)
singlesignon:
sign-request: false
url: # IDP ACS URL(单点登录地址)
metadata-uri: # IDP Metadata(IDP元数据地址)请按下图的步骤,完成上面配置文件的修改。
|
- 本地启动项目
- 访问
http://localhost:8080/saml2/service-provider-metadata/yidengtech-idaas会自动下载本应用的元文件。 - 点击 上传应用 metadata,上传刚才下载的应用元文件,会自动填充 SP Entity ID 和 断言消费地址,如下图所示
|
完成属性映射配置(可选)
|
配置那些用户有权限登录此应用
|
- 访问
http://localhost:8080,按照指引完成登录。
|
- 用户登录成功后会跳转到原地址:
http://localhost:8080
|






