如何将App Engine测试版本域名授权用于Firebase身份验证?
解决App Engine测试版本域名无法添加到Firebase Auth授权列表的问题
嘿,我碰到过类似的情况,Firebase控制台的前端校验对App Engine那种带-dot-的版本域名格式有点“认死理”,不过别担心,有几个实用的解决办法:
方法一:用Firebase CLI直接添加(最直接)
控制台的提示其实是前端的格式校验限制,用Firebase CLI绕开这个限制就行:
- 先确保你装了Firebase CLI,并且已经登录到你的项目:
firebase login - 运行这条命令添加测试版本域名:
firebase auth:domain:add 28-dot-MYAPPNAME.nw.r.appspot.com - CLI是直接调用Firebase API的,不会有前端的格式校验,大概率能成功把这个域名加入授权列表。
方法二:给测试版本设置别名域名(更易维护)
如果不想每次部署新版本都要加域名,给测试版本整个别名会更省心:
- 登录App Engine控制台,找到你的测试版本
- 给这个版本设置一个自定义别名(比如
test),这样访问路径就变成test.MYAPPNAME.nw.r.appspot.com - 把这个别名域名添加到Firebase Auth的授权域名列表,控制台会正常识别这种格式
- 之后不管你部署多少个测试版本,只要把流量指向这个别名,就能直接用Firebase Auth了,不用重复加域名。
方法三:确认项目关联状态
有时候项目关联出问题也会导致这种情况:
- 确保你的App Engine和Firebase是同一个GCP项目(毕竟Firebase和App Engine本来就是共享GCP项目的)
- 去Firebase控制台的「项目设置」→「集成」里看看App Engine的关联状态,要是没关联的话先完成关联。
顺便说一句,为什么你能加虚构域名?因为控制台的前端校验只是做了简单的格式检查,不会验证域名是不是真的存在或者属于你的项目,而App Engine的版本域名带-dot-的格式刚好触发了前端的误判,所以用上面的方法就能搞定啦。
内容的提问来源于stack exchange,提问作者Ian Baverstock
相关产品推荐
相关产品推荐

