为什么创建令牌认证错误? (NodeJs 10,数据库实时读取,写入,在localMacO上运行) 本地测试 -test作为google cloud功能(设置身份验证令牌)
var firebase = require('firebase');
const functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./...json');
const uid = '...';
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: '...',
});
const additionalClaims = {
premiumAccount: true,
};
console.log('token');
admin
.auth()
.createCustomToken(uid, additionalClaims)
.then((token) => {
console.log(`token : ${token}`);
admin
.auth()
.verifyIdToken(token)
.then((decodedToken) => {
console.log(decodedToken);
return true;
})
.catch((err) => {
console.log(err);
return true;
});
return true;
})
.catch((err) => {
console.log(`error : ${err}`);
return true;
});
答案 0 :(得分:0)
自定义标记不是ID标记。将自定义令牌传递到verifyIdToken()
是错误的。有关如何将自定义令牌交换为ID令牌的示例,请参见Firebase文档:https://firebase.google.com/docs/auth/admin/create-custom-tokens#sign_in_using_custom_tokens_on_clients