vue.js Firebase部署错误:使用带有Stripe“使用Stripe运行付款”扩展的单独项目时,“不支持更改密码”

ao218c7q  于 2023-01-17  发布在  Vue.js
关注(0)|答案(1)|浏览(111)

我正在尝试为我的Vue / Firebase项目设置多个环境。我有两个Firebase项目1.)Dev 2.)Prod该项目利用Stripe Extension从自动生成的文件中提取API密钥,该文件名为:firestore-stripe-payments.env
其包含:

STRIPE_API_KEY=projects/${param:PROJECT_NUMBER}/secrets/firestore-stripe-payments-STRIPE_API_KEY-xxxx/versions/latest

其中xxxx是一个随机的4字符串。
该行从Google Secret Manager中提取密钥的值。
假设Dev是“dddd”,而Prod是:“pppp”
问题是我只能定义其中一个:

firestore-stripe-payments-STRIPE_API_KEY-dddd

firestore-stripe-payments-STRIPE_API_KEY-pppp

起初,我试图在Google Secret Manager中创建一个新值,简单地称为:

firestore-stripe-payments-STRIPE_API_KEY

我们的想法是,这应该是一个简单的修复,它将为当前正在使用的项目拉取关联的API_KEY。
但这会导致错误:

Error: firestore-stripe-payments: Found 'projects/foo/secrets/firestore-stripe-payments-STRIPE_API_KEY/versions/latest' for secret param STRIPE_API_KEY, but this instance was previously using a different secret projects/fooo/secrets/firestore-stripe-payments-STRIPE_API_KEY-dddd.
Changing secrets is not supported. If you want to change the value of this secret, use a new version of projects/foo/secrets/firestore-stripe-payments-STRIPE_API_KEY-dddd.You can create a new version at https://console.cloud.google.com/security/secret-manager?project=fooo
Also, if there is a better place to ask this question please let me know, couldn't find the 'right' room
jgwigjjp

jgwigjjp1#

对于此场景,是否可以使用以下准则包含一个单独的env(env.dev)文件

.env                # loaded in all cases
.env.local          # loaded in all cases, ignored by git
.env.[mode]         # only loaded in specified mode
.env.[mode].local

为了为每个环境生成单独的密钥,我相信从您的示例中,您在单个项目中使用了单个Stripe Extension
Firebase扩展可以支持每个项目的多个扩展示例,这将创建一个单独的“dev”密码供您使用。
此外,建议使用另一个带有“Stripe Extension”安装的单独Firebase项目来分离开发中的任何问题。

相关问题