节点:发送JSON Web令牌到页面redirect的客户端
我正在使用Node Express来构build我的后端服务器。 此外,身份validation是我的应用程序与Passport-SAML发生。 我正在使用JWT来维护用户会话。 所以stream量是,
- 用户在login端点中调用
- 他们被redirect到SAML身份提供者。
- 提供程序validation用户,并在callbackURL中将授权发送回服务器。
- 我正在使用POSTcallbackURL进行身份validation,然后为用户创build令牌以执行授权和会话pipe理。
callbackPOST端点也有一个页面redirect。 从目前为止我学到的是res.status和res.redirect不能在相同的端点出于显而易见的原因。 我一直在试图find正确的方法,任何帮助,不胜感激。
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'); } );
你在这里有一系列的select
曲奇饼
res.cookie('token', token, ...); res.redirect(...);
url参数
res.redirect(`/some/url?token=${token}`);
自定义标题
res.set('x-token', token); res.redirect(...);