2017-05-04 55 views
1

我正在開發一個具有鬆弛登錄功能的應用程序。passport-slack return不能GET/auth/slack

我使用護照鬆弛對OAuth的,但有一些問題有關路由其返回不能得到/ auth /中懈怠

我也跟着一步一步的過程,它可以在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

你沒有路線'/ auth /中slack' – Sabrina

+0

對不起,忘了更新我的代碼,因爲我只是基於它的文檔,還是回到同樣的錯誤。 –

回答

3

/auth/slack只是一個認證中間件,這意味着所有以/auth/slack開頭的路由都會調用這個中間件。

也因爲你不具備這條路任何response,和護照只會調用next()功能,所以Cannot GET /auth/slack

你應該把你的鬆弛設置/auth/slack/callback,鬆弛將用戶後,用戶這條路線重定向登錄到鬆弛

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

+0

感謝您的解釋 –