我需要使用节点对Firebase用户进行身份验证,以便我可以测试一些服务器端方法.对于每个受保护的请求,我使用以下方法验证Firebase令牌:
firebase.auth().verifyIdToken(firebaseAccesstoken).then(function(decodedToken) { // forward request })
因此,在我的测试中,我使用Firebase数据库中的uid创建了一个令牌
firebase.auth().createCustomToken(uid).then(function(token) { //add to header for requests })
后来我读到自定义标记未经verifyIdToken方法验证,只有客户端生成的标记验证.
我看了这个答案 – server side verification of tokens in firebase
所以我将databaseAuthVariableOverride添加到init json中
firebase.initializeApp({ credential: firebase.credential.cert(serviceAccount),databaseURL: [dbURL],databaseAuthVariableOverride: { uid: [uid] } });
在我的测试中仍然得到输出
Error: expected 200 "OK",got 401 "Unauthorized"
并且火力山错误 –
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。