Мне нужен доступ к свойству _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 )
});
Как вы можете сказать, мой маршрут, вероятно, вообще не работает и нуждается в большой помощи.Есть идеи?