Странные вещи случаются, когда я использую паспорт для аутентификации пользователя в Nodejs + Express - PullRequest
0 голосов
/ 24 марта 2019

Вначале я использовал этот код для определения LocalStrategy

    passport.use(
        'local-login',
        new LocalStrategy({
            usernameField:'username',
            passwordField: 'password',
            passReqtoCallback: true
        },
            function(req,username,password,done){
            ....

Затем паспорт не мог работать хорошо. Он считывал пароль как имя пользователя и не мог прочитать имя пользователя из HTML-формы.

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

 passport.use(
  'local-login',
  new LocalStrategy({
   usernameField: 'username',
   passwordField: 'password',
   passReqToCallback: true
  },
 function(req,username,password,done){
            ....

И это просто сработало !!!!

На самом деле, я думаю, что эти два кода отличаются только отступом.моя первоначальная ошибка? Может кто-нибудь сказать мне, спасибо!

(Чтобы было понятнее, я загружаю скриншот из своей IDE)

Это глючный код.This is Buggy Code

Этот код хорошо работает.Good Code

1 Ответ

1 голос
/ 24 марта 2019

В исходном коде у вас есть

passport.use(
  'local-login',
  new LocalStrategy({
    ...
    passReqtoCallback: true // misspelled!
  }),
  ...
)

вместо

passport.use(
  'local-login',
  new LocalStrategy({
    ...
    passReqToCallback: true
  }),
  ...
)
...