Firebase身份验证访问令牌失败,使用auth自定义令牌创建的令牌

时间:2020-06-29 14:33:38

标签: node.js firebase firebase-authentication firebase-admin

为什么创建令牌认证错误? (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;
  });

1 个答案:

答案 0 :(得分:0)

自定义标记不是ID标记。将自定义令牌传递到verifyIdToken()是错误的。有关如何将自定义令牌交换为ID令牌的示例,请参见Firebase文档:https://firebase.google.com/docs/auth/admin/create-custom-tokens#sign_in_using_custom_tokens_on_clients