Автор оригинала: Victor Nwaiwu.
Возможно, вы слышали о простоте Firebase и как это все в одном решении для управления базами данных, аутентификации и хранения. Знаете ли вы, что вы можете использовать Firebase в качестве промежуточного программного обеспечения аутентификации без хранения сеансов в вашей базе данных? Сегодня я буду говорить о написании промежуточного программного обеспечения для вашего экспресс-приложения, используя только FireBase. Вот шаги, необходимые для создания промежуточного программного обеспечения с Firebase:
Создайте учетную запись в Google:
Если у вас нет учетной записи в Google, вы можете создать один здесь Отказ После создания учетной записи отправляйтесь на Консоль Google Firebase Чтобы создать учетную запись Console Firebase Google, если у вас их уже нет. После создания учетной записи вам нужно будет создать проект в Firebase. Создание проекта даст вам объект Config, который позволяет подключать приложение к услугам базы данных FireBase, хранения и аутентификации. Скопируйте этот объект и храните значения в вашу переменную среды.
Установите 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;
Вам не нужно использовать другой пакет в качестве аутентификации промежуточного программного обеспечения для хранения сеансов в вашей базе данных. Не стесняйтесь добраться до меня, если у вас есть какие-либо трудности, следующие за этим руководством. Я отвечу как можно быстрее.
Этот пост был первоначально опубликован автором здесь Отказ Эта версия была отредактирована для ясности и может появиться отличаться от исходного поста.