我通过passport (Koa,Mongodb,React,Redux)实现了对用户的授权。
router.post('/login', function(ctx, next) {
return passport.authenticate('local', async function(err, user, info) {
if (err) throw err;
if (user === false) {
ctx.status = 401;
ctx.body = { error: info };
} else {
ctx.body = {
success: true
};
await ctx.login(user);
}
})(ctx, next);
})
如果用户登录,他将重定向到配置文件页面(主页)。
router.get('/login', function(ctx, next) {
if (ctx.isAuthenticated()) {
ctx.redirect('/');
} else {
ctx.body = fs.readFileSync(path.resolve(path.join('build', 'index.html')), 'utf8')
}
});
因为我有一个spa,所以我总是传递一个静态文件(通过react-router在客户机上路由)
问题是,当加载个人资料页面时,我无法理解如何获取有关用户的信息
如果我从React-component发送一个ajax请求(feth),那么对另一个会话id的请求与用户没有关联。
或者,我需要在服务器上执行此操作,但如何使用服务器上的存储空间呢?
如何最好地解决这个问题?
转载请注明出处:http://www.66758680.com/article/20230526/1391966.html