【问题标题】:passport-slack return Cannot GET /auth/slack护照松弛返回无法获取/身份验证/松弛
【发布时间】:2017-05-04 17:54:46
【问题描述】:

我正在开发一个具有 Slack 登录功能的应用。

我正在使用 passport-slack 进行 OAuth,但在返回 Cannot GET /auth/slack

我按照可以在https://github.com/mjpearson/passport-slack 中找到的分步程序进行操作,但仍然没有运气

我当前的护照代码是这样的,我认为我正确定义了路线

// setup the strategy using defaults
passport.use(new SlackStrategy({
  clientID: environment.SLACK.CLIENT_ID,
  clientSecret: environment.SLACK.CLIENT_SECRET,
  }, (accessToken, refreshToken, profile, done) => {
    done(null, profile);
}));

// path to start the OAuth flow
app.get('/auth/slack', passport.authenticate('slack'));

// OAuth callback url
app.get('/auth/slack/callback',
  passport.authenticate('slack', { successRedirect: '/',
  failureRedirect: '/login' }));

【问题讨论】:

  • 你没有路由/auth/slack
  • 抱歉,由于我只是根据文档更新代码,所以忘记更新代码,仍然返回相同的错误。

标签: javascript node.js passport.js slack-api slack


【解决方案1】:

/auth/slack只是一个认证中间件,也就是说所有以/auth/slack开头的路由都会调用这个中间件。

也因为你没有任何response 用于这条路线,护照只会调用next() 函数,所以Cannot GET /auth/slack

你应该把/auth/slack/callback放在你的slack设置中,slack会在用户登录slack后将用户重定向到这个路由

http://expressjs.com/en/guide/using-middleware.html

【讨论】:

  • 感谢您的解释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多