如何正确配置Keycloak以Firebase作为身份提供商?
正确配置Keycloak对接Firebase身份认证的方案
你当前调用的 verifyPassword 是Firebase的密码验证REST接口,但Keycloak配置身份提供商依赖标准OAuth2/OpenID Connect(OIDC)流程,直接填该REST地址必然导致404。下面是可行的配置步骤:
1. 从Firebase获取OIDC核心信息
Firebase Auth底层基于Google的OIDC服务,需先从Firebase控制台提取以下内容:
- 客户端ID:进入Firebase控制台 → 目标项目 → 项目设置 → 应用 → 选中你的Web应用 → 复制格式为
xxxxxx.apps.googleusercontent.com的客户端ID - 客户端密钥:同路径下的客户端密钥
2. 在Keycloak中添加OIDC身份提供商
在Keycloak控制台操作:
- 进入对应Realm → 左侧菜单选「身份提供商」→ 点击「添加提供商」→ 选择「OpenID Connect v1.0」
- 填写必填配置:
- 别名:自定义标识(如
firebase-auth) - 显示名称:前端显示的登录入口名称(如「Firebase登录」)
- 授权URL:
https://accounts.google.com/o/oauth2/v2/auth - 令牌URL:
https://oauth2.googleapis.com/token - 客户端ID:粘贴Firebase获取的客户端ID
- 客户端密钥:粘贴Firebase获取的客户端密钥
- 别名:自定义标识(如
- 配置重定向URI:Keycloak会自动生成回调地址(格式为
https://<你的Keycloak域名>/realms/<你的Realm名>/broker/<身份提供商别名>/endpoint),需将此地址添加到Firebase控制台的Web应用「授权域」或OAuth2.0客户端ID的重定向URI允许列表中。
3. 可选:配置用户属性映射与范围
- 切换到「范围」标签,添加
email、profile等需要同步的用户信息范围 - 切换到「映射」标签,将Firebase返回的用户属性(如邮箱、昵称)映射到Keycloak用户属性
4. 测试认证流程
保存配置后,点击身份提供商列表的「测试」按钮,或在Keycloak登录页选择Firebase登录入口,验证跳转与认证是否正常。
若你必须使用Firebase的密码直连REST接口(即verifyPassword),则无法通过标准身份提供商配置实现,需编写Keycloak自定义认证器扩展来调用该API。
内容的提问来源于stack exchange,提问作者Tiago Medici
相关产品推荐
相关产品推荐

