Keycloak是一款开源的身份和访问管理平台,能够轻松帮您搞定用户登录验证、权限分配等工作本篇文章不涉及部署和讲解Keycloak相关内容,如需了解Keycloak更多信息,请参考官方文档 配置SAML协议#
1.登录FlashDuty控制台#
从FlashDuty获取acs地址(第2步会用到)
路径:访问控制--->单点登录--->设置--->SAML2.0协议---->Flashcat服务提供商信息--->Assertion Consumer Service URL

2.登录Keycloak控制台新建一个Client#
路径:Clients ---> Create client
Client ID填写: flashcat.cloud(固定值,不可更改)
Valid redirect URIs 填写从FlashDuty获取的acs地址


3.配置Client相关信息#
Name ID format 更改为email类型

Client signature required 设置为关闭状态

创建email,phone,username三种类型的用户
创建之前需要先删除之前OpenID Connect协议的用户,创建完成设置为Default
将添加的用户加入到Client中


配置email/phone/username映射器(以email为例,其他按照下面步骤配置即可)



4.下载XML文件#
下载的文件是一个压缩 包,在本地解压后会有两个xml文件,只需要idp-metadata.xml文件即可
在Client--->Action中下载到本地

上传XML文件到FlashDuty的单点登录配置中

5.在Keycloak创建用户并测试登录#
创建用户(一定要绑定一个邮箱地址)

登录测试:console.flashcat.cloud,选择SSO登录---域名处填写单点登录配置中登录域名前缀

配置OIDC协议#
1.登录FlashDuty平台#
从FlashDuty获取Redirect URL(第2步会用到)
路径:访问控制--->单点登录--->设置--->OIDC协议---->Flashcat服务提供商信息--->Redirect URL

2.登录Keycloak控制台新建一个Client#
Client authentication:保持开启状态
Valid redirect URIs:填写第1步获取的Redirect URL地址
3.获取Client的相关信息#
Client Secret:Client详情->Credentials卡片中即可看到
Issuer:Realm settings->Endpoints->OpenID Endpoint Configuration
4.FlashDuty单点登录配置样式#
配置完成后在Keycloak创建用户并绑定邮箱即可实现登录
登录测试:console.flashcat.cloud,选择SSO登录---域名处填写单点登录配置中登录域名前缀