Node.js Firebase身份验证验证JWT ID令牌,不带SDK和NodeJS

Node.js Firebase身份验证验证JWT ID令牌,不带SDK和NodeJS,node.js,firebase-authentication,jwt,Node.js,Firebase Authentication,Jwt,在没有Firebase Admin SDK的情况下,如何使用NodeJS验证Firebase Auth提供的JWT(idToken)?接下来,可以使用任何JWT库并从Google API的网站获取公钥 从“jsonwebtoken”导入jwt; 从“请求”导入请求; 从“util”导入{promisify}; const rp=承诺(请求); const response=wait rp('https://www.googleapis.com/robot/v1/metadata/x509/sec

在没有Firebase Admin SDK的情况下,如何使用NodeJS验证Firebase Auth提供的JWT(idToken)?

接下来,可以使用任何JWT库并从Google API的网站获取公钥

从“jsonwebtoken”导入jwt;
从“请求”导入请求;
从“util”导入{promisify};
const rp=承诺(请求);
const response=wait rp('https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com');
const publicKeys=JSON.parse(response.body);
const verifyIdToken=idToken=>{
const header64=idToken.split('.')[0];
const header=JSON.parse(Buffer.from(header64,'base64').toString('ascii'));
返回jwt.verify(令牌,公钥[header.kid],{algorithms:['RS256']});
};