我遇到了一个持续存在的Firebase身份验证问题。
TL;DR每次运行用于显示新API密钥的命令时,firebase
CLI工具都会生成一个新的密钥,从而使以前的任何密钥无效,即使它们正在使用中也是如此。
似乎有多种方法可以生成用于firebase的API密钥:
- 最明显的是在他们的网站上,在项目设置下,它显示一个
Web API Key
- 另一种是通过
firebase-tools
CLI命令firebase setup:web
- 第三个也是通过
firebase-tools
,使用firebase login:ci
,它提供了一个用于CI部署的令牌
问题是,如果/当您运行firebase setup:web
或firebase login:ci
命令时,每次运行它们时似乎都会生成一个新的API密钥,并同时使所有其他密钥无效,包括网站上显示的Web API Key
。
特别是,我在尝试使用firebase身份验证时遇到了这个问题,其中我开始在生产系统上接收API key not valid. Please pass a valid API key.
,而没有任何代码更改,显然只是因为我运行了firebase setup:web
命令。
此外,网站不会使用新密钥进行更新。因此,如果将来您希望将另一个应用程序添加到现有项目中,则似乎无法确定当前有效的API密钥是什么。它仍然显示一个现在无效的API密钥。
为了未来的我(以及其他为此付出代价的人(;直到这个问题得到解决。。。
记录任何firebase
命令提供给您的API密钥,请勿再次运行同一命令。