Firebase 部署错误:未提供 apiKey 和 config.authenticator(使用 Stripe)

问题描述 投票:0回答:1

这是在使用 Stripe 和 Firebase 功能的 Web Firebase 应用程序的上下文中。

   "dependencies": {
    "stripe": "^17.2.0",
    "twitter-api-v2": "^1.18.0",
    "firebase-admin": "^12.4.0",
    "firebase-functions": "^6",
    "moment-timezone": "^0.5.45"
  },

npm -g => [email protected]

一切工作正常,直到我将所有软件包更新到上面显示的版本。 从那时起,当我部署 firebase 函数时(为什么这个错误不仅仅是运行时错误??),我收到错误消息:

Error: Neither apiKey nor config.authenticator provided
    at Stripe._setAuthenticator (C:\Users\webko\Documents\AppsAndWebsites\Node\robot\functions\node_modules\stripe\cjs\stripe.core.js:166:23)
    at new Stripe (C:\Users\webko\Documents\AppsAndWebsites\Node\robot\functions\node_modules\stripe\cjs\stripe.core.js:102:14)
    at Stripe (C:\Users\webko\Documents\AppsAndWebsites\Node\robot\functions\node_modules\stripe\cjs\stripe.core.js:58:20)
    at Object.<anonymous> (C:\Users\webko\Documents\AppsAndWebsites\Node\robot\functions\index.js:37:33)

有问题的行是这一行:

const stripe = require('stripe')(process.env.STRIPE_SECRET);

自更新以来,它拒绝“process.env.STRIPE_SECRET”。但是当我将测试密钥硬编码为字符串时工作正常。

这个秘密是在环境中设定的,当我跑步时:

 firebase functions:secrets:access STRIPE_SECRET

它正确地显示了秘密。

那么为什么将秘密作为“process.env.STRIPE_SECRET”传递现在已经成为一个问题?

javascript firebase stripe-payments
1个回答
0
投票

不知道为什么,但这就是我在使用 Stripe 时遇到的情况

16.9.0
,尝试降级到该版本,看看它是否有效。

另外,我认为这与 Firebase 无关,因为我没有使用它。

PS:我发现了一个相关的开放问题

© www.soinside.com 2019 - 2024. All rights reserved.