2016-11-09 20 views
0

passportJS docs for passport-facebook我試圖實現Express身份驗證的中間件。我正在使用mongoose-findorcreate來創建passportJS所需的findOrCreate函數。passportJS - passport-facebook無法GET失敗重定向路由

我可以重定向到Facebook登錄表單,並使用我的Facebook帳戶登錄。但後來我重定向到failureRedirect URL其返回以下內容:?

不能得到 /auth /中的Facebook /回調代碼= AQBsq2xY-YTsNMmipM45BVBBC9W1QovO1grjC64nDe1psWuRZQwjGv8SMpXuou3s9SaVIIS0_3RqJn-SQ339wPD_TWjRPIpXpZZVHerTRZEQnQYLvt1CM0qMzG5R_JNqfYib6rkmuP4epXou5HoqUa01qszUpYfGMPHUYyNVx1VdMSu3RLbdta8rYle9am539NzYL8ihlwlflnFku-8H3QqlzWJ5Ta1pQ29N0ZyRRu38nKzrDQk-jE5Sq9WECDZ6aUX-KWvexM_5UAUJ60crUPFVxZyWwV__5N6DyDEpS9SrWKdcrpdwcMOd4u0z6mbK7os

這是我的型號:

const mongoose = require('mongoose'); 
const findOrCreate = require('mongoose-findorcreate'); 

// Schema definition 
const userSchema = mongoose.Schema({ 
    provider: String, 
    id: String, 
    displayName: String, 
    name: [ 
    {familyName: String}, 
    {givenName: String}, 
    {middleName: String}, 
    ], 
    emails: [ 
    {value: String}, 
    {type: String}, 
    ], 
    photos: [ 
    {value: String}, 
    ], 
}); 

userSchema.plugin(findOrCreate); 

// Compile model from schema 
module.exports = mongoose.model('User', userSchema); 

應用的護照部分:

passport.use(new FacebookStrategy({ 
    clientID: conf.facebookClientID, 
    clientSecret: conf.facebookSecret, 
    callbackURL: 'http://localhost:3000/auth/facebook/callback', 
    }, 
    function(accessToken, refreshToken, profile, done) { 
    User.findOrCreate(function(err, user) { 
     if (err) { return done(err); } 
     done(null, user); 
    }); 
    } 
)); 

// Authentication routes 
app.get('/auth/facebook', passport.authenticate('facebook')); 

app.get('auth/facebook/callback', 
    passport.authenticate('facebook', { 
    successRedirect: 'http://localhost:3000/words', 
    failureRedirect: 'http://localhost:3000/auth/facebook', 
    })); 

我試圖找出爲什麼登錄失敗,爲什麼用戶不被寫入到我的數據庫(我可以查詢其他的東西的數據庫,所以我知道連接是有效的)。

如果您需要更多關於該項目的信息,請詢問我將編輯該問題。您也可以檢查gitHub repo

回答

3

阿爾特:

app.get('auth/facebook/callback' 

到:

app.get('/auth/facebook/callback' 
+0

唉,就這麼簡單。謝謝 –

+0

不客氣。 –