Аутентифицировать сервер node.js с помощью БД Firebase Realtime - PullRequest
0 голосов
/ 09 декабря 2018

Я хочу аутентифицировать свое приложение node.js для записи данных в базу данных Firebase Realtime и предоставления клиентам возможности читать.Структура моей схемы БД на данный момент такова:

"<db_name>": {
  "users": { ... }
}

Это конфигурация правил, которую я получил до сих пор:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": true
      },
      ".write": true
    }
  }
}

Разве это не должно по крайней мере разрешить всем доступ на записьв БД?Кроме того, я попытался найти официальную документацию о том, как аутентифицировать серверное приложение с помощью базы данных Firebase, но я могу найти только то, как использовать Firebase Admin (что мне не нужно).

В моемкод, который я делаю:

const firebaseConfig = {
  "apiKey": "xxx",
  "authDomain": "xxx.firebaseapp.com",
  "databaseURL": "https://xxx.firebaseio.com",
  "projectId": "xxx",
  "storageBucket": "xxx.appspot.com",
  "messagingSenderId": "xxx"
}
firebase.initializeApp(firebaseConfig);

Но это только для инициализации соединения.Мне также нужно как-то авторизовать мой сервер с помощью Firebase, через длительный токен или что-то, я не уверен ...

Вот единственная разумная вещь, которую я нашел, но это с 2015 годаи API изменился.

1 Ответ

0 голосов
/ 09 декабря 2018

Большая часть документации посвящена использованию Node.js в доверенной среде, где вы используете Admin SDK для получения полного административного доступа.Если вы пользуетесь доверенной платформой, я рекомендую использовать ее, а затем вызвать setDatabaseAuthVariableOverride до , чтобы получить доступ к базе данных с ограниченными правами .

Для получения справочной документации для клиентского узла.js в недоверенных средах, см. https://firebase.google.com/docs/reference/node/. Существует signInWithEmailAndPassword метод , который должен позволить вам войти в систему как обычный пользователь.

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