我无法从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
。
答案 0 :(得分:2)
您需要传递给admin sdk initialize函数的凭据文件。与身份相关的任务需要云功能中的此配置。
转到Firebase C 鞋垫 - &gt;设置 - &gt;项目设置 - &gt;服务帐户 - &gt;生成新的私钥。
下载文件并在您的代码中加入。
P.S:确保此文件不以任何形式共享给公共(将其添加到git ignore),因为此文件可以完全访问您的firebase项目。