2016-11-09 2 views
0

После passportJS docs для паспорт-facebook. Я пытаюсь реализовать экспресс-промежуточное программное обеспечение для аутентификации facebook. Я использую mongoose-findorcreate для создания функции findOrCreate, необходимой для паспорта.паспортJS - паспорт-facebook не может получить отказ. Rewirect route

Я могу перенаправить на форму входа в facebook и войти в систему с моими учетными данными в facebook. Но после этого я попадаю в URL failureRedirect которые возвращают следующее:

не может получить /авториз/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

Alter:

app.get('auth/facebook/callback' 

к:

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

тьфу, просто. Спасибо –

+0

Добро пожаловать. –

Смежные вопросы