【问题标题】:How to redirect user back to the previous page using passport-spotify如何使用 passport-spotify 将用户重定向回上一页
【发布时间】:2015-07-31 05:09:11
【问题描述】:

我在我的网络应用程序中使用 passport-spotify - https://github.com/jmperez/passport-spotify 进行身份验证,我无法将用户重定向回上一页。

我查看了https://github.com/jaredhanson/connect-ensure-login,它谈到了将 req.url 存储在 req.session.returnTo 中以供以后使用。但是,当我从 spotify 收到“/callback”时,这已经不起作用了,req.session.returnTo 是未定义的。

不胜感激。

【问题讨论】:

  • 如果您在身份验证期间使用successReturnToOrRedirect 选项会发生什么?
  • @hassansin - 谢谢。这样可行。但是我怎么知道重定向是由于失败还是成功呢?
  • 失败时不使用上述参数。对于失败,您可以使用另一个参数failureRedirect
  • @hassasin - 如果我同时使用这两种方法passport.authenticate('spotify', { successReturnToOrRedirect: "/", failureRedirect: '/' })
  • 你可以同时使用,看我的回答。

标签: node.js express passport.js spotify


【解决方案1】:

Passport 需要很少的参数来处理重定向:

  • successRedirect: 登录成功后,用户将重定向到给定的 URL

  • successReturnToOrRedirect:登录成功后,如果req.session.returnTo存在,则用户会被重定向到 req.session.returnTo else 到给定的 URL

  • failureRedirect: 登录失败后,用户将重定向到给定的 URL

所以像这样使用它:

passport.authenticate('spotify', { 
 failureRedirect: '/login',
 successReturnToOrRedirect: '/profile'
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 2020-12-08
    • 2014-11-27
    • 2014-06-28
    • 2015-09-01
    • 2018-05-09
    • 1970-01-01
    • 2020-10-17
    相关资源
    最近更新 更多