Аутентифицировать пользователя без учетных данных в Passport.js - PullRequest
0 голосов
/ 30 октября 2018

У меня есть простое приложение с авторизацией по стратегии passport-local. Пользователь отправляет форму на /login, перенаправляется на маршрутизатор и затем авторизуется:

app.js (часть)

const { indexRouter } = require('./routes/index');

app.use('/login', indexRouter);

passport.use(
  'local',
  new LocalStrategy(
    {
      passReqToCallback: true,
      usernameField: 'email',
      passwordField: 'name'
    },
    (req, email, name, done) => {
      console.log('Logging in: ', email, name);
      if (email) {
        email = email.trim();
        name = name.trim();
        return authorizeUser(email, name, done);
      }
      return done(new Error('User not authorized: no email provided'), null, false);
    }
  )
);

маршруты / index.js

router.post('/', passport.authenticate('local'), (req, res) => {
  res.render('user/success');
});

Однако я хочу иметь обходную ссылку (/bypass, например), которая авторизует тестового пользователя и перенаправляет на страницу успеха, не запрашивая учетные данные. Как я могу сделать это?

...