跳转到主要内容
Keycloak 是一个开源的身份和访问管理解决方案,提供了一套全面的工具和功能,帮助开发人员快速实现安全的用户身份验证和授权机制。
本篇文章不涉及部署和讲解 Keycloak 相关内容,如需了解更多信息,请参考 官方文档

协议配置

1. 获取 ACS 地址

登录 Flashduty 控制台,获取 ACS 地址(后续步骤会用到)。路径:访问控制 => 单点登录 => 设置 => SAML2.0 协议 => Flashduty 服务提供商信息 => Assertion Consumer Service URL获取ACS地址

2. 创建 Client

登录 Keycloak 控制台,路径:Clients => Create client
  • Client Type:选择 SAML 协议
  • Client ID:填写 flashcat.cloud(固定值,不可更改)
创建ClientValid redirect URIs:填写从 Flashduty 获取的 ACS 地址配置redirect

3. 配置 Client 相关信息

Name ID format 更改为 email 类型:Name ID formatClient signature required 设置为关闭状态:关闭签名创建 Client scope
创建之前需要先删除之前 OpenID Connect 协议的用户,创建完成设置为 Default。
参考下图依次创建 email/phone/username 三种类型:创建scope创建完成的效果:scope效果将添加的用户加入到 Client 中添加用户1添加用户2配置 email/phone/username 映射器(以 email 为例,其他按照相同步骤配置):映射器1映射器2映射器3

4. 下载 XML 文件

下载的文件是一个压缩包,在本地解压后会有两个 xml 文件,只需要 idp-metadata.xml 文件即可。
Client => Action 中下载到本地:下载XML上传 XML 文件到 Flashduty 的单点登录配置中:上传XML

5. 创建用户并测试登录

创建用户(一定要绑定一个邮箱地址):创建用户登录测试:访问 console.flashcat.cloud,选择 SSO 登录,在域名处填写单点登录配置中的登录域名前缀。测试登录