使用新的1.0 SDK为firebase生成带云功能的自定义身份验证令牌

Mur*_*dle 9 firebase google-cloud-functions

由于firebase-admin@5.11.0和firebase-functions@1.0.0 firebase-admin不再需要在应用程序的配置时,应用程序初始化.

我有一个firestore函数,可以使用firebase-admin生成一个自定义令牌createCustomToken.调用该函数将生成我将initializeApp在credential属性中传递的凭证.我现在该怎么做呢?

process.env.FIREBASE_CONFIG在调用之前,我是否需要以某种方式编辑并将序列化凭证放在那里initializeApp?

Mic*_*hen 5

基于 Github 中的这个问题,它仍然有效。

https://github.com/firebase/firebase-admin-node/issues/224

以下示例对我有用:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const serviceAccount = require('./serviceAccountKey.json');
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: 'https://yourapplication.firebaseio.com/'
  });

exports.createToken = functions.https.onCall((data, context) => {
    const uid = context.auth.uid;
    return admin.auth()
                .createCustomToken(uid)
                .then(customToken => {
                    console.log(`The customToken is: ${customToken}`);
                    return {status: 'success', customToken: customToken};
                })
                .catch(error => {
                    console.error(`Something happened buddy: ${error}`)
                    return {status: 'error'};
                });
});
Run Code Online (Sandbox Code Playgroud)