passport-slack return不能GET / auth / slack

时间:2017-05-04 17:54:47

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

我开发的应用程序具有松散的登录功能。

我使用 passport-slack 进行OAuth但遇到了一些路由的问题,这些问题返回无法GET / auth / slack < / p>

我按照一步一步的程序,可以在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' }));

1 个答案:

答案 0 :(得分:3)

/auth/slack只是一个用于身份验证的中间件,这意味着以/auth/slack开头的所有路由都将调用此中间件。

另外,因为此路线没有response,护照只会调用next()功能,所以Cannot GET /auth/slack

你应该将/auth/slack/callback置于松弛设置中,松弛会在用户登录松弛后将用户重定向到此路线

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