【问题标题】:Custom returnURL not passing to Node.js Passport自定义 returnURL 未传递给 Node.js Passport
【发布时间】:2025-12-20 03:55:11
【问题描述】:

从这里的第二个答案: Custom returnUrl on Node.js Passport's Google strategy

我正在使用从前端传递的自定义 URL,例如:

  <a href="/auth/meetup?redirect=/chat/{{currentChatID}}" class="btn btn-meetup"><span class="fa fa-meetup"></span> Meetup</a>

redirect参数在哪里,例如:?redirect=/chat/room1

在护照中:

    app.get('/auth/meetup', function(req, res, next) {
      req.session.redirect = req.query.redirect;
      next();
    }, passport.authenticate('meetup'));


    app.get('/auth/meetup/callback', passport.authenticate('meetup', {
      failureRedirect: '/'
    }), function (req, res) {
      res.redirect(req.session.redirect || '/profile/worlds/meetup');
      delete req.session.redirect;
    });

req.query.redirect参数是undefined所以不会重定向到指定的重定向URL,如何正确传递URL?

【问题讨论】:

    标签: javascript node.js passport.js url-parameters


    【解决方案1】:

    我修复了它,必须将 URL 中的 /s 传递为:

    href="/auth/meetup?redirect=%2Fchat%2F{{currentChatID}}"
    

    【讨论】:

      最近更新 更多