Я могу успешно запустить этот код при развертывании в проекте Firebase.
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp();
exports.createUser = functions.https.onRequest((req, res) => {
admin.auth().createUser({ uid: req.body.id })
.then(user => {
return res.send(user);
})
.catch(err => {
return res.status(422).send({ error: err });
});
});
Это ответ от Firebase:
{
"uid": "abcdefg1234",
"emailVerified": false,
"disabled": false,
"metadata": {
"lastSignInTime": null,
"creationTime": "Sun, 20 May 2018 22:22:55 GMT"
},
"tokensValidAfterTime": "Sun, 20 May 2018 22:22:55 GMT",
"providerData": []
}
Однако, когда я запускаюФункции локально с firebase serve
и вызов той же функции (с почтальоном), я сталкиваюсь с ошибками разрешения:
{
"error": {
"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."
}
}
Является ли настройка проверки подлинности для firebase-admin на локально работающемЭкземпляр функций Firebase отличается от того, что выполняется на обычных рабочих серверах Firebase?
Характеристики:
"dependencies": {
"firebase-admin": "~5.12.0",
"firebase-functions": "^1.0.1"
}