Как добавить свойство для пользователя в deserializeUser при использовании passportjs - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу добавить правильное для пользователя, но user.auth = 'staff' не работает, что я могу сделать, спасибо

passport.deserializeUser(function (id, done) {
  StaffModel.findById(id).then(function (err, user) {
    if (err) { done(err) };
    if (user) {
      user.auth = 'staff'
      console.log(user)
      done(null, user);
    } else {
      AdminModel.findById(id).then(function (err, user) {
        if (err) { done(err) };
        user.auth = 'admin'
        done(null, user);
        console.log(user)
      })
    }
  })
})

об ошибке сказано

(node:9036) UnhandledPromiseRejectionWarning: TypeError: Cannot set property 'auth' of undefined
    at D:/vscode/app/server/interfaces/utils/passport.js:55:9
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:9036) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 7)
...