Невозможно понять требования промежуточного программного обеспечения passport.initialize () - PullRequest
0 голосов
/ 14 июня 2019

Я определил маршрут 'auth / google', который отвечает за вход в приложение с помощью google.Consent Появляется экран для входа (не требуется passport.initialize ()). Я определил URL обратного вызова как 'auth / google / callback ' тоже. Почему я получаю сообщение об ошибке промежуточного программного обеспечения (passport.initialize ()) не используется

// using pasport.authenticate for authenicate the request (no error for  not using passport.initialize())

app.get('/auth/google' , passport.authenticate('google',{
scope: ['profile','email'] 
}) 

// got error after writing below code

app.get('/auth/google/callback' , passport.authenticate('google'),(req,res)=>{
 res.json({"a":97});
});

1 Ответ

0 голосов
/ 14 июня 2019

В приложениях Connect или Express для инициализации Passport требуется промежуточное программное обеспечение passport.initialize ().Если ваше приложение использует постоянные сеансы входа в систему, необходимо также использовать промежуточное программное обеспечение passport.session ().

app.configure(function() {
  app.use(express.static('public'));
  app.use(express.cookieParser());
  app.use(express.bodyParser());
  app.use(express.session({ secret: 'keyboard cat' }));
  app.use(passport.initialize());
  app.use(passport.session());
  app.use(app.router);
});

passport.initialize() - промежуточное программное обеспечение, инициализирующее Passport.

Промежуточное ПО - это функции, которые имеют доступ к объекту запроса (req), объекту ответа (res) и следующей функции промежуточного программного обеспечения в цикле запроса-ответа приложения.

Passport - это промежуточное ПО аутентификации для узлакоторый аутентифицирует запросы.

Таким образом, passport.initialize() инициализирует модуль аутентификации

.

Если вы читаете документы passport.jsраздел конфигурации вы будете знать, что инициализация - это первый шаг для регистрации вашего модуля аутентификации.

Кроме того, чтобы прокомментировать поток модуля аутентификации Passport

Есть три основных части виспользуя passport.js:

  1. Требование модуля и использование его промежуточного программного обеспечения passport.initialize () и passport.session () с express.

  2. Настройка паспорта хотя бы с одной стратегией и настройка методов для паспорта serializeUser и deserializeUser.

  3. Указание маршрута с использованием промежуточного программного обеспечения passport.authenticateна самом деле аутентифицировать пользователя.

...