Как получить доступ к пользователю Passport в main.js и как добавить промежуточное программное обеспечение?

#node.js #express #session #handlebars.js #passport.js

#node.js #экспресс #сессия #handlebars.js #passport.js

Вопрос:

Я хочу получить доступ к своему пользователю, который вошел в систему. Мой пользователь для сериализации и десериализации действителен. Я вижу каждую информацию, как часть console.log (req).

Часть console.log (req) включает мою пользовательскую информацию, но я не могу получить к ней доступ с помощью req.user, который возвращает undefined.

Это мой (запрос) журнал:

 user: User {
    dataValues: {
      id: 1,
      UserName: 'testuser',
      UserPw: '1234567',
      ResetPasswordToken: '3c7560f9c888227a64a90e271d2b58a0630f24c6dde46458d2981058d007120e',
      ResetPasswordTokenExpire: 2020-12-20T15:49:51.000Z,
      createdAt: 2020-12-20T15:49:51.000Z,
      updatedAt: 2021-01-12T15:24:20.000Z
    },
    _previousDataValues: {
      id: 1,
      UserName: 'testuser',
      UserPw: '1234567',
      ResetPasswordToken: '3c7560f9c888227a64a90e271d2b58a0630f24c6dde46458d2981058d007120e',
      ResetPasswordTokenExpire: 2020-12-20T15:49:51.000Z,
      createdAt: 2020-12-20T15:49:51.000Z,
      updatedAt: 2021-01-12T15:24:20.000Z
    },
    _changed: Set(0) {},
    _options: {
      isNewRecord: false,
      _schema: null,
      _schemaDelimiter: '',
      raw: true,
      attributes: [Array]
    },
    isNewRecord: false
  },
  route: Route {
    path: '/success',
    stack: [ [Layer] ],
    methods: { get: true }
  },
  [Symbol(kCapture)]: false,
  [Symbol(RequestTimeout)]: undefined
}
 

И я хочу получить доступ к своему движку просмотра (handlebars)

Я думаю, что я получаю доступ к req.user это будет: req.locals.user = req.user

Ответ №1:

Если вы используете Sequelize.js , вы должны вернуть user.dataValues для LocalStrategy и десериализовать часть.