登录SPA koa.js后如何加载用户信息

我通过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