使用redux和create-react-app设置了简单的JWT认证的mern应用(here)。我想添加passport-steam作为身份验证方法,但是我不确定如何处理将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策略它可以工作,并且用户数据已添加到DB,但是本地存储中没有令牌。我不确定如何使用Steam进行操作,因为我没有调度动作/不确定是否可以。我是否需要通过Steam进行身份验证,将数据保存并保存到数据库中,然后分派另一个操作来检索它并添加JWT,还是有更好的方法?