我正在使用koa-passport来处理我的反应应用中的本地注册/登录。我试图在没有重定向的情况下设置本地身份验证,因为我想在客户端处理路由。 我的问题:当我成功验证并登录用户后向服务器发送请求时,我没有得到我希望获得的ctx.state.user对象。 这是我的初次登录:
router.post('/login/local', passport.authenticate('local-login', function(err, user, info) {
if (err) // handle error
else if (!user && info) // handle no user
else {
// handle successful login
ctx.login(user);
}
}));
然后,我想访问登录用户,如下所示:
router.get('/profile', (ctx) => {
// ctx.state.user is undefined
}
但是ctx.state中没有用户属性。这不应该是这样的方式还是我错过了什么?
答案 0 :(得分:0)
我发现了问题:
我没有从客户端发回cookie。在我的提取中,我必须设置credentials: 'include'
才能使其正常工作,因为我使用koa-cors,所以我必须指定允许cookie。