【问题标题】:MERN: 'Invalid API Key' Heroku Deployment?MERN:“无效的 API 密钥”Heroku 部署?
【发布时间】:2021-11-20 13:48:00
【问题描述】:

如何让 Firebase Auth 用于 Heroku 部署?

Auth 在 MERN 应用的本地开发中正常工作,没有任何问题。所有私人信息都存储在 .env 文件中,然后在我的 react 应用程序中使用 process.env.VARIABLE_NAME 调用。

但是,当我部署到 Heroku 生产环境并添加 env 文件时,如 here 所示,我收到错误:“您的 API 密钥无效,请检查您是否正确复制了它”

这是我部署的 Heroku 应用:https://evening-fortress-01391.herokuapp.com/login

REACT_APP_FIREBASE_API_KEY=XXXXXXXX
REACT_APP_FIREBASE_AUTH_DOMAIN=XXXXXXXX
REACT_APP_FIREBASE_PROJECT_ID=XXXXXXXX
REACT_APP_FIREBASE_STORAGE_BUCKET=XXXXXXXX
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=XXXXXXXX
REACT_APP_FIREBASE_APP_ID=XXXXXXXX

另外,运行命令heroku config 会在终端中显示输入的环境变量。

知道为什么 Auth 可以在本地工作,但不能在部署中工作吗?谢谢!

【问题讨论】:

    标签: javascript node.js reactjs heroku


    【解决方案1】:

    回答因为太长,无法发表评论。

    听起来非常难以调试 - 而且您的应用只显示登录信息,而不是 API 密钥错误 =) 对我来说,这听起来就像它说的那样,是 API 密钥不正确或格式问题。

    我会使用与您的 API 密钥相同的字符(如 REACT_APP_FIREBASE_POTATO=p07470-test-example-foooobar)创建一个测试配置变量,然后在您的前端应用程序中使用 console.log("TEST" + process.env.REACT_APP_FIREBASE_POTATO);。然后发布它并在生产中检查它。

    这些测试完全是环境变量,是否存在一些字符编码问题(您是否在控制台中看到了应有的确切字符)

    【讨论】:

    • 感谢您的回复!为了测试问题是否与 firebase auth 或如何读取 env 变量有关,我创建了一个新的 firebase auth 项目,对这些变量进行硬编码,然后部署该版本(这就是登录屏幕工作的原因)。这告诉我问题是如何读取环境变量。我也将实施您的测试,看看问题是否是您提到的格式之一:)
    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 2020-05-12
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多