【问题标题】:passport.js, express.js - back to the same page after oauthpassport.js、express.js - oauth 后返回同一页面
【发布时间】:2013-12-20 01:27:46
【问题描述】:

我希望用户在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 = '...'; });

不工作。

【问题讨论】:

    标签: javascript twitter express oauth passport.js


    【解决方案1】:

    在调用passport.authenticate('twitter')之前尝试设置req.session.authReturnPage:

    app.get('/auth/twitter', function(req, res) {
        req.session.authReturnPage = req.headers.referer;
        passport.authenticate('twitter');
    }
    

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 2014-07-07
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多