提问人:Dan Nir 提问时间:11/15/2023 最后编辑:Dan Nir 更新时间:11/15/2023 访问量:12
Angular 和 local-Passportjs 身份验证
Angular and local-Passportjs authentication
问:
晚上好。 尝试使用passport-js本地策略为我的angular项目创建身份验证 req.user 在“/login”路由中定义,但是当我尝试请求其他路由时,req.user 未定义。
当我在 Atlas 中看到会话集合时,首先奇怪的是它创建了 2 个会话,似乎它确实保存了 req.user,但每个请求都会创建一个新会话
// express-session-usage
const store = MongoStore.create({
mongoUrl: MongoUrl,
secret: 'khkjh',
touchAfter: 24 * 60 * 60,
autoRemove: 'native'
})
const sessionConfig = {
store,
name: 'Banana',
secret: 'sskdjskdjfskj',
resave: false,
saveUninitialized: true,
cookie: {
httpsOnly: true,
secure: true,
expires: Date.now() + 18000000, //7200000 //1000 * 60 * 60 * 24 * 7, // session expires every 2 hours
maxAge: 18000000 //7200000 1000 * 60 * 60 * 24 * 7 // // Max session Age is 2 hours
}
}
app.use(session(sessionConfig))
app.use(passport.initialize());
app.use(passport.session());
here are the mongoose models created
passport.use(new LocalStrategy(Doctor.authenticate()));
passport.serializeUser(Doctor.serializeUser());
passport.deserializeUser(Doctor.deserializeUser());
app.post('/login',passport.authenticate('local', { session: true,failureRedirect: '/isAuth' }),async(req,res)=> {
if (req.user === false) {
console.log(req.user)
res.json(false);
res.end()
} else {
console.log(req.user)
res.json(true);
res.end()
}
})
答: 暂无答案
评论