从Firebase云功能访问Auth

时间:2018-06-14 07:12:20

标签: node.js firebase firebase-authentication google-cloud-functions

我无法从Firebase云功能环境访问用户信息。

我想做什么。

const admin = require('firebase-admin') 
admin.initializeApp() 
exports.test = functions.https.onRequest(() => {   
    admin.auth().getUser('<user_id>').then(user => {
        return console.log(user)   
    }).catch(e => {
        console.error(e)   
    })
 })

现在,当我运行test函数时,我收到以下错误。

{ code: 'auth/insufficient-permission',
 message: 'Credential implementation provided to initializeApp() via the "credential" property has insufficient permission to access the requested resource. See https://firebase.google.com/docs/admin/setup for details on how to authenticate this SDK with appropriate permissions.' }, 
 codePrefix: 'auth' }

现在,我的问题是,如果可以从云功能环境中使用admin.auth().getUser

1 个答案:

答案 0 :(得分:2)

您需要传递给admin sdk initialize函数的凭据文件。与身份相关的任务需要云功能中的此配置。

转到Firebase C 鞋垫 - &gt;设置 - &gt;项目设置 - &gt;服务帐户 - &gt;生成新的私钥

下载文件并在您的代码中加入。

P.S:确保此文件不以任何形式共享给公共(将其添加到git ignore),因为此文件可以完全访问您的firebase项目。