用户访问/search
网址,然后我验证用户。
登录后,它会重定向到/login/callback。
然后我想将用户重定向到www.myproxy/search
.
目前,它正在重定向到www.myproxy/login/callback
.我找不到任何方法来获得以前的res
和req
.
如何获取回调后的res
和req
?
app.get('/login',
function (req, res, next) {
console.log('-----------------------------');
console.log('/Start login callback ');
next();
},
passport.authenticate('samlStrategy'),
);
app.post('/login/callback',
function (req, res, next) {
console.log('-----------------------------');
console.log('/Start login callback ');
next();
},
passport.authenticate('samlStrategy'),
function (req, res) {
console.log('-----------------------------');
console.log('login call back dumps');
console.log(req.user);
console.log('-----------------------------');
apiProxy.web(req, res, {target: serviceProvider})
}
);
app.all('*',
function (req, res, next) {
console.log('-----------------------------');
console.log('/Start login callback ');
next();
},
passport.authenticate('samlStrategy'),
function(req, res) {
console.log('passing source!')
apiProxy.web(req, res, {target: serviceProvider})
}
);
好吧,HTTP是一个无状态协议,所以我所说的无状态是 您无法知道在早期请求和响应中发生了什么,也无法跟踪未来的 req 和 resp,必须在应用程序的某个位置显式完成(仅当您要跟踪请求和响应时(。
但是在您的情况下,我建议您使用重定向路由向 req 正文添加一个附加参数,如果它是 null 或默认值,请设置默认路由,并将路由添加到您的响应 url。