Firestore: код 16 (в запросе указаны неверные учетные данные) - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь получить доступ к Firestore с правами администратора через личный ключ и права администратора, чтобы я мог использовать его для запросов и прочего в бэкэнде.

//i import fb-admin
const firebaseAdmin = require('firebase-admin')

//i initialize as admin with a valid credential
firebaseAdmin.initializeApp({
  credential: firebaseAdmin.credential.cert('./pathto/myprivatekeyinfo.json')
})

//i initialize firestore
var dba = firebaseAdmin.firestore()

//i test the connection by listing all the available collections
dba.getCollections().then(collectionList => {
  collectionList.forEach(collection => {
    console.log(collection.id) //print available collections
  }
},error => console.error(JSON.stringify(error,null,"  "))) //print error

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

Иногда я подключаюсь, и все идет нормально, распечатывая доступные коллекции как следует, но большую часть времени я получаю только эту ошибку для недействительных учетных данных

{
  "code": 16,
  "metadata": {
    "_internal_repr": {
      "www-authenticate": [
        "Bearer realm=\"https://accounts.google.com/\""
      ]
    }
  },
  "details": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
  "note": "Exception occurred in retry method that was not classified as transient"
}

Я пытался ничего не менять, и иногда это работает на некоторых компьютерах, где я тестирую тот же самый код, но на других - нет, и попытка получить новый закрытый ключ через консоль Firebase ничего не меняет. Когда я пытаюсь подключиться, иногда требуется слишком много времени, чтобы получить эту ошибку, или он вообще не перезванивает. Предоставленная ссылка также не полезна, так как она дает только некоторый код JS для обычного доступа через внешний интерфейс для входа в систему с помощью Google, что совершенно не подходит для моей ситуации в этой ситуации (я пробовал «настроить проект»). кнопка тоже).

Есть ли что-то, что я делаю здесь действительно неправильно? почему это иногда работает, хотя ничего не меняется, а иногда просто нет?

я ценю любую помощь

1 Ответ

0 голосов
/ 09 ноября 2018

Эта ошибка в основном аналогична этой ( Невозможно отправить push-уведомление устройства из-за ошибки приложения / неверной учетной записи ), когда часы компьютера должны быть синхронизированы с часами сервер firebase.

Я застрял, пытаясь протестировать его на разных компьютерах (все с неверно настроенными часами), не имея возможности подключиться, пока друг не попытался указать на это, поэтому я проверил, и это сработало.

Решение, которое сработало для меня, заключалось в том, чтобы проверить настройку clock на компьютере.

...