Рубрики
Без рубрики

Использование Firebase в качестве аутентификации промежуточного программного обеспечения в Express.js

Это короткий пост о том, как использовать Firebase в качестве промежуточного программного обеспечения для экспресс-приложений с Node.js

Автор оригинала: Victor Nwaiwu.

Возможно, вы слышали о простоте Firebase и как это все в одном решении для управления базами данных, аутентификации и хранения. Знаете ли вы, что вы можете использовать Firebase в качестве промежуточного программного обеспечения аутентификации без хранения сеансов в вашей базе данных? Сегодня я буду говорить о написании промежуточного программного обеспечения для вашего экспресс-приложения, используя только FireBase. Вот шаги, необходимые для создания промежуточного программного обеспечения с Firebase:

Создайте учетную запись в Google:

Если у вас нет учетной записи в Google, вы можете создать один здесь Отказ После создания учетной записи отправляйтесь на Консоль Google Firebase Чтобы создать учетную запись Console Firebase Google, если у вас их уже нет. После создания учетной записи вам нужно будет создать проект в Firebase. Создание проекта даст вам объект Config, который позволяет подключать приложение к услугам базы данных FireBase, хранения и аутентификации. Скопируйте этот объект и храните значения в вашу переменную среды.

Отрегулируемый Firebase-Console.png

Установите Firebase в узле:

Установите Firebase в приложении вашего узла, запустив NPM Установите Firebase --save Отказ Это сохранит FireBase в ваших прикладных зависимостях, если вы хотите запустить его в другой среде.

Создать объект конфигурации FireBase:

В вашем файле промежуточного программного обеспечения приложения или файл входа вам нужно будет требовать FireBase и создать объект Config для приложения. Ваши настройки должны быть созданы так:

  var firebase = require('firebase');
  require('firebase/auth');
  require('firebase/database');
  // Initialize Firebase for the application
  var config = {
      apiKey: process.env.apiKey,
      authDomain: process.env.authDomain,
      databaseURL: process.env.databaseURL,
      storageBucket: process.env.storageBucket,
      messagingSenderId: process.env.messagingSenderId
    };

Инициализируйте FireBase для вашего приложения:

После создания объекта Config и требуя FireBase и его служб (база данных и аутентификации), вам нужно будет инициализировать FireBase в вашем приложении, например:

firebase.initializeApp(config); 

Инициализация Firebase в промежуточной программе FileCreate для вашего маршрута:

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

  module.exports = {
    isAuthenticated: function (req, res, next) {
      var user = firebase.auth().currentUser;
      if (user !== null) {
        req.user = user;
        next();
      } else {
        res.redirect('/login');
      }
    },
  }

Создание промежуточного программного обеспечения функции на маршруте:

Наконец, после создания промежуточного программного обеспечения вы можете использовать это промежуточное программное обеспечение в маршруте и увидеть, что он работает так:

  var documents = require('../controllers/documents');

  const routes = (router, authenticate) => {
    // Get all documents
    router.get('/documents/', authenticate.isAuthenticated, documents.getAll);
  }

  module.exports routes;

Вам не нужно использовать другой пакет в качестве аутентификации промежуточного программного обеспечения для хранения сеансов в вашей базе данных. Не стесняйтесь добраться до меня, если у вас есть какие-либо трудности, следующие за этим руководством. Я отвечу как можно быстрее.

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