Firebase在生产和开发环境上获取用户应用程序

时间:2019-02-09 09:01:52

标签: typescript firebase google-cloud-firestore google-cloud-functions

如果我想通过本地计算机上的身份验证来获取用户应用,我可以简单地将uid作为参数传递给以下内容:

return admin.auth().getUser(tokenId)

但是,如果部署了我,generated token最好用于身份验证(并且它也与CORS兼容)。要在后端进行身份验证,我将执行以下操作:

const decodedToken = await admin.auth().verifyIdToken(tokenId);
return admin.auth().getUser(decodedToken.uid);

是否有一种清晰的方法可以根据我是在开发/ CI环境还是在生产环境中在这两种方法之间进行切换?我在考虑通过设置Environment Configuration像这样的东西:

const getUserApp = async (tokenId) => {
    if (functions.config().production) {
        const decodedToken = await admin.auth().verifyIdToken(tokenId);
        return admin.auth().getUser(decodedToken.uid);
    }

    return admin.auth().getUser(tokenId);
};

但是,我不确定这是否是最佳选择。

0 个答案:

没有答案