Я хочу использовать FireBase Admin SDK, чтобы предоставить моему узловому серверу бесплатный доступ к моей базе данных. Это код index.js
в моей папке functions
:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
// Initialize app
admin.initializeApp({
credential: admin.credential.cert("logininfo.json"),
databaseURL: "https://thenameofmydatabase.firebaseio.com/",
databaseAuthVariableOverride: {
uid: "nameserver"
}
});
В этой же папке у меня есть файл logininfo.json, который выглядит примерно так (ключи подвергались цензуре по понятным причинам):
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "..."
}
Однако при попытке развертывания на хостинге firebase появляется ошибка Failed to parse certificate key file: Error: ENOENT: no such file or directory
.
Как это исправить, и есть ли более безопасный / элегантный способ справиться с этим? Могу ли я просто изменить переменную GOOGLE_APPLICATION_CREDENTIALS где-нибудь на хостинге firebase?