Firebase предоставил неверные учетные данные - PullRequest
0 голосов
/ 26 июня 2018

Проект Firebase, над которым я работал, был удален, и был создан новый проект. Теперь мне нужно использовать учетные данные для нового проекта, который я сделал. Я сгенерировал новый ключ учетной записи службы из облачной консоли Google и заменил старый ключ учетной записи службы на новый. Я заменяю базу данных (URL) URL-адресом нового проекта. Я обновил свой файл .firebaserc новым проектом. Тем не менее я получаю сообщение об ошибке:

FIREBASE WARNING: Provided authentication credentials for the app named "[DEFAULT]" are invalid. This usually indicates your app was not initialized correctly. Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.

Я обновил свой конфигурационный файл с помощью нового ключа учетной записи службы, обновил реквизиты, переданные firebase.initializeApp, обновил файл .firebaserc, я что-то пропустил?

У меня есть только роль редактора для проекта, и я сгенерировал ключ учетной записи службы, используя облако Google. Нужна ли мне роль владельца для получения ключа учетной записи службы, который работает?

{
    "serviceAccount": {
      "type": "service_account",
      "project_id": "new-project",
      "private_key_id": <SOME KEY>,
      "private_key": "-----BEGIN PRIVATE KEY-----\nSOME-KEY",
      "client_email": "new-project@new-project.iam.gserviceaccount.com",
        "client_id": <SOME KEY>,
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://accounts.google.com/o/oauth2/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/new-project%40new-project.iam.gserviceaccount.com"
      }
    }

firebase.initializeApp({
  credential: firebase.credential.cert(serviceAccount),
  databaseURL: 'https://new-project.firebaseio.com',
});

{
  "projects": {
    "default": "new-project"
  }
}

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Правильно, у вас должны быть права владельца проекта, чтобы сгенерировать ключ учетной записи службы с соответствующими разрешениями.

0 голосов
/ 26 июня 2018

Похоже, что вы используете JavaScript SDK (для веб-сайтов) против Admin / Node SDK (для серверной части). Сервисные учетные записи предназначены для аутентификации на стороне сервера. Для Интернета вы хотите использовать аутентификацию Firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...