如何让Firebase Auth的OAuthProvider为自定义OIDC提供商添加额外scope
Firebase自定义OIDC提供商额外scope不生效解决方案
你前端的代码逻辑没有错误,Firebase Auth本身支持自定义OIDC提供商添加额外scope,scope未传递是后台配置限制导致的。
具体原因
Google Identity Platform对自定义OIDC提供商的scope有白名单校验逻辑,默认仅允许传递oidc基础scope,所有额外自定义scope都需要提前在后台配置中添加到允许列表,才会被Firebase自动带入授权请求URL。你现有前端的scope添加逻辑完全正确,不需要做修改。
解决步骤
- 进入Google Cloud Console的Identity Platform管理页面,找到你配置的
oidc.twitch自定义OIDC提供商,打开编辑界面 - 找到「作用域(Scope)」配置项,将
moderation:read、user:edit等你需要用到的自定义scope逐一添加到允许列表中,保存配置 - 配置修改后等待1~2分钟生效,清除浏览器本地缓存的Firebase授权状态后重新测试即可
验证逻辑
配置生效后重新发起登录请求,弹出的授权页URL的scope参数会包含所有你添加的自定义scope,最终获取到的用户令牌中也会携带对应scope的权限信息。
内容的提问来源于stack exchange,提问作者joed4no
相关产品推荐
相关产品推荐

