首页 > 解决方案 > 如何使用护照蒸汽添加 JWT 身份验证

问题描述

使用 redux 和 create-react-app 的简单 JWT 身份验证的 mern 应用程序(此处)。我想添加护照蒸汽作为身份验证方法,但是我不确定如何处理将 JWT 添加到护照蒸汽策略。以下是我所拥有的:

// Steam
router.get('/steam', passport.authenticate('steam', { session: false }));

router.get(
  '/steam/return',
  passport.authenticate('steam', { session: false }),
  (req, res) => {
    const user = req.user
    jwt.sign(
      { id: user.id },
      'JWT_secret',
      { expiresIn: '2h' },
      (err, token) => {
        if (err) throw err;
        res.json({
          user: user,
          token,
        });
      }
    );
    res.redirect('/')
  }
)

使用默认的蒸汽策略它可以工作并将用户数据添加到数据库中,但本地存储中没有令牌。我不知道如何用蒸汽来做,因为我没有发送动作/不确定是否可以。我是否需要通过 Steam 进行身份验证,获取数据并将其保存到数据库中,然后发送另一个操作来检索它并添加 JWT,还是有更好的方法?

标签: node.jsreactjsreduxreact-reduxjwt

解决方案


推荐阅读