Как получить идентификатор пользователя, который в данный момент вошел в паспорт - PullRequest
0 голосов
/ 13 декабря 2018

Мне нужен доступ к свойству _id объекта User mongodb, который в данный момент вошел в систему с паспортом и сессиями.

Код паспорта:

app.use(session({
  secret: 'secretySecret',
  saveUninitialized: false,
  resave: false
}));

app.use(passport.initialize());
app.use(passport.session());

passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

mongoose Модель пользователя: constmongoose = require ('mongoose');

const bcrypt = require('bcrypt-nodejs');
const passportLocalMongoose = require('passport-local-mongoose');

const UserSchema = new mongoose.Schema({
  username: {
    type: String,
    // required: true
  },
  password: {
    type: String,
    // required: true
  },
  shotLog: {

  }
});

UserSchema.plugin(passportLocalMongoose);

UserSchema.methods.hashPassword = function (password) {
  return bcrypt.hashSync(password, bcrypt.genSaltSync(10))
}

UserSchema.methods.comparePassword = function (password, hash) {
  return bcrypt.compareSync(password, hash)
}

module.exports = User = mongoose.model('User', UserSchema);

В идеале я хотел бы получить идентификатор пользователя с помощью api и сохранить его в состоянии.

fetch('/api/userId')
  .then(res => res.json())
  .then(res => this.setState({ userId: res }))
  .catch(error => console.log(error))

Это маршрут намой сервер:

app.get('/api/userId', (req, res) => {
  res.json( req.session.user )
});

Как вы можете сказать, мой маршрут, вероятно, вообще не работает и нуждается в большой помощи.Есть идеи?

...