我正在使用Node Express来构建我的后端服务器。此外,身份验证是我的应用程序发生在Passport-SAML。我正在使用JWT来维护用户会话。 所以流程是,
回调POST端点也有页面重定向。从目前为止我所学到的是res.status和res.redirect由于显而易见的原因不能在同一个端点。我一直在努力寻找合适的方法,非常感谢任何帮助。
router.route('/login')
.get(
passport.authenticate(config.passport.strategy,
{
successRedirect: '/',
failureRedirect: '/login'
})
);
router.route(config.passport.saml.path)
.post(
passport.authenticate(config.passport.strategy,
{
failureRedirect: '/',
failureFlash: true
}),
function (req, res) {
res.redirect('/');
var token = Verify.getToken(req.user.saml);
return res.status(200).json({
status: 'Login successful!',
success: true,
token: token
});
console.log(token,'yes');
}
);
答案 0 :(得分:4)
您在这里有一系列选项
<强>曲奇强>
res.cookie('token', token, ...);
res.redirect(...);
网址参数
res.redirect(`/some/url?token=${token}`);
自定义标题
res.set('x-token', token);
res.redirect(...);