关于Clio SSO接入Keycloak并集成Supabase认证的技术咨询
Clio → Keycloak → Supabase 认证集成步骤
1. Keycloak 配置 Clio 作为 OIDC 身份提供者
- 登录Keycloak后台,进入目标Realm,选择Identity Providers → Add provider,选OpenID Connect v1.0
- 基础配置:
- Alias:自定义标识(如
clio) - Client ID:填入Clio开发者平台申请到的Client ID
- Client Secret:填入对应Client Secret
- Authorization URL:
https://app.clio.com/oauth/authorize - Token URL:
https://app.clio.com/oauth/token - User Info URL:
https://app.clio.com/api/v4/users/who_am_i
- Alias:自定义标识(如
- 回调配置:Valid Redirect URI 填
{你的Keycloak域名}/realms/{你的Realm名}/broker/clio/endpoint(Keycloak 17+版本去掉/auth前缀) - 同步配置:开启Store Tokens和Sync Mode为
Force,确保Clio用户信息同步到Keycloak用户库 - 字段映射:添加Identity Provider Mapper,将Clio返回的
email、name等字段映射到Keycloak的对应用户属性(比如把Clio的email映射到Keycloak的email属性)
2. Keycloak 配置 Supabase 客户端
- 在Keycloak目标Realm下,选择Clients → Create
- 客户端配置:
- Client ID:自定义(如
supabase-client) - Client Protocol:选
openid-connect - Access Type:选
confidential
- Client ID:自定义(如
- 高级配置:
- Valid Redirect URIs:填
https://{你的Supabase项目ID}.supabase.co/auth/v1/callback - Web Origins:填
https://{你的Supabase项目ID}.supabase.co
- Valid Redirect URIs:填
- 客户端权限:在Client Scopes中添加
openid、email、profile作用域,确保Supabase能获取到必要的用户Claims
3. Supabase 配置 Keycloak 作为外部认证源
- 进入Supabase项目后台,选择Authentication → Providers → OpenID Connect
- 启用OpenID Connect,配置参数:
- Issuer URL:
{你的Keycloak域名}/realms/{你的Realm名} - Client ID:填入Keycloak中创建的
supabase-client的ID - Client Secret:填入对应Client Secret
- Scopes:
openid email profile
- Issuer URL:
- 保存配置后,测试登录流程:在Supabase登录界面选择OpenID Connect,跳转至Keycloak后选择Clio登录,验证是否能成功进入Supabase
常见问题排查
- 若Clio用户信息未同步到Keycloak:检查Identity Provider的Mapper配置是否正确,确保Clio返回的字段被正确映射
- 若Supabase无法获取用户信息:检查Keycloak客户端的Scopes是否包含
email、profile,且Claims设置为Add to ID token - 若回调失败:检查各环节的Redirect URI是否完全匹配,Keycloak的Web Origins是否允许Supabase域名
内容的提问来源于stack exchange,提问作者mk3ext
相关产品推荐
相关产品推荐

