我希望在OAuth
请求twitter
之后,将用户导航到同一页面。我了解这只能通过设置会话变量来完成,但是应该如何精确地做到这一点呢?
当前,路由配置如下:
// Authentication routes
(function () {
app.get('/auth/twitter', passport.authenticate('twitter'));
app.get('/auth/twitter/done',
passport.authenticate('twitter', {
failureRedirect : '/auth/error'
}),
function (req, res) {
res.send('Logged In.');
});
app.get('/auth/error', function (req, res) {
res.send('An error has occured.');
});
}());
我可以在路由
"/auth/twitter/done"
中读取会话变量,然后重定向到它包含的页面。但是正确的设置方法是什么? app.get('/auth/twitter', passport.authenticate('twitter'),
function (res, req) { res.session.authReturnPage = '...'; });
不起作用。
最佳答案
尝试在调用req.session.authReturnPage
之前设置passport.authenticate('twitter')
:
app.get('/auth/twitter', function(req, res) {
req.session.authReturnPage = req.headers.referer;
passport.authenticate('twitter');
}
关于javascript - Passport.js,express.js-在oauth之后返回同一页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20360482/