gpt4 book ai didi

node.js - 如何在服务器上创建用于单元测试的 Firebase token ?

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:21 25 4
gpt4 key购买 nike

我需要使用 Node 对 Firebase 用户进行身份验证,以便我可以测试一些服务器端方法。对于每个 protected 请求,我使用以下方法验证 Firebase token :

firebase.auth().verifyIdToken(firebaseAccessToken).then(function(decodedToken) {
// forward request
})

所以在我的测试中,我从我的 Firebase 数据库创建了一个带有 uid 的 token

firebase.auth().createCustomToken(uid).then(function(token) {
//add to header for requests
})

后来我读到自定义 token 没有通过 verifyIdToken 方法验证,只有客户端生成的。

我看过这个答案 - server side verification of tokens in firebase

所以我在 init json 中添加了 databaseAuthVariableOverride

firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount),
databaseURL: [dbURL],
databaseAuthVariableOverride: {
uid: [uid]
}
});

仍然在我的测试中得到输出

Error: expected 200 "OK", got 401 "Unauthorized"

还有 firebase 错误 -

Error: Decoding Firebase ID token failed. Make sure you passed the entire string JWT which represents an ID token. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token.

那么如何使用我当前的设置模拟用户呢?

最佳答案

这是一个 Python script for generating Firebase ID tokens (not custom tokens) .

python firebase_token_generator.py <UID>

可能有更简单的方法可以做到这一点,但您可以从 Node.js 调用 Python 脚本。

关于node.js - 如何在服务器上创建用于单元测试的 Firebase token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41989345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com