Firebase:本地运行的Shiny应用如何配置OAuth Google登录
本地Shiny应用Firebase Google登录授权异常修复方案
你遇到的auth/unauthorized-domain报错即使添加了localhost也未生效,按以下步骤排查操作即可:
1. 补全带端口的本地地址到授权列表
Firebase默认的localhost授权未包含端口,Shiny本地运行会随机分配端口,需要单独添加完整访问地址:
- 启动本地Shiny应用,复制浏览器地址栏的完整根地址,例如
http://localhost:6893、http://127.0.0.1:4321 - 进入Firebase控制台→Authentication→设置→授权网域,将上面复制的完整地址添加到列表,不要携带路径后缀
2. 同步配置Google Cloud OAuth授权来源
Firebase的Google登录依赖Google Cloud的OAuth配置,需要同步添加授权地址:
- 打开对应Firebase项目关联的Google Cloud控制台,进入「API和服务」→「凭证」页面
- 找到你的Web应用对应的OAuth 2.0客户端ID,编辑后在「已授权的JavaScript来源」中添加上面的完整本地地址
3. 核对Shiny侧Firebase初始化配置
确认Shiny代码中的Firebase初始化参数和控制台完全一致:
authDomain参数直接使用Firebase控制台给出的xxx.firebaseapp.com即可,不需要添加本地端口- 其余
apiKey、projectId等参数无拼写错误
4. 固定Shiny运行端口避免重复配置
如果不想每次启动Shiny都修改授权配置,可以在启动时固定端口:
shiny::runApp(port = 5678)
将http://localhost:5678和http://127.0.0.1:5678都提前添加到授权列表即可长期使用。
注意:
localhost和127.0.0.1在授权规则中是两个完全独立的地址,常用哪个访问就添加哪个,建议两个都加避免踩坑。
所有配置修改完成后等待3分钟左右生效,清除浏览器缓存后重启Shiny应用测试即可。
内容的提问来源于stack exchange,提问作者Dylan Russell
相关产品推荐
相关产品推荐

