2016-03-28 13 views
0

Ich bekomme diesen Fehler, wenn ich zu localhost: 3000 gehen und den Login mit Facebook-Button verwenden.Passport.js Facebook-Strategie funktioniert nicht, weil URL blockiert

URL Blockiert: Diese Umleitung ist fehlgeschlagen, da die Umleitung URI nicht in der Client-OAuth-Einstellungen der App der weißen Liste. Stellen Sie sicher, dass Client und Web-OAuth-Anmeldung aktiviert sind und fügen Sie alle Ihre App-Domänen als gültige OAuth-Weiterleitungs-URIs hinzu.

Auch wenn ich nicht auf Facebook eingeloggt, und ich versuche, für die Anmeldung zu Facebook gerichtet bekam, habe ich eine leere Seite mit diesem Fehler statt

nicht angemeldet: Sie sind nicht eingeloggt. Bitte einloggen und erneut versuchen.

Hier ist mein Auth Modul index.js suchen:

'use strict'; 
const passport = require('passport'); 
const config = require('../config'); 
const h = require('../helpers'); 
const FacebookStrategy = require('passport-facebook').Strategy; 

module.exports =() => { 
    passport.serializeUser((user, done) => { 
     done(null, user.id); 
    }); 

    passport.deserializeUser((id, done) => { 
     //Find the user using the _id 
     h.findById(id) 
      .then(user => done(null, user)) 
      .catch(error => console.log('Error when deserializing user')); 
    }); 

    let authProcessor = (accessToken, refreshToken, profile, done) => { 
     // Find a user in the local db using profile.id 
     // If the user is found, return the user data using the done() method 
     // If the user is not found, create one in the local db and return 
     h.findOne(profile.id) 
      .then(result => { 
       if(result) { 
        done(null, result); 
       } else { 
        // Create a new user and return 
        h.createNewUser(profile) 
         .then(newChatUser => done(null, newChatUser)) 
         .catch(error => console.log("Error when creating a new user")) 
       } 
      }) 
    } 
    passport.use(new FacebookStrategy(config.fb, authProcessor)); 

Hier ist meine config/development.json Datei. Ich nahm die Werte von dbURI und fb clientID & geheim, aber in meiner Entwicklung, diese Werte existieren und wurden von ihren jeweiligen Anbietern erhalten.

{ 
    "host": "http://localhost:3000", 
    "dbURI": "", 
    "sessionSecret": "catscanfly", 
    "fb": { 
     "clientID": "", 
     "clientSecret": "", 
     "calbackURL": "//localhost:3000/auth/facbeook/callback", 
     "profileFields": ["id", "displayName", "photos"] 
    } 
} 

Whole app on github

+0

Ich bin mit dem gleichen Problem tatsächlich konfrontiert ... Allerdings denke ich, dass unsere Probleme in der Facebook-App-Konfiguration ist .. Ich hatte es für zwei Minuten und dann eine Einstellung geändert und vermasselt es wieder ... Wenn ich finde irgendetwas Relevantes darüber Ich komme wieder hierher. Aber von dem, was ich gelesen habe, hat es definitiv etwas mit der Site-URL zu tun, die wir in der FB-App-Konfiguration eingeben müssen. – daneczech

Antwort

0

diese Zeile hier: "calbackURL": "// localhost: 3000/Auth/facbeook/Rückruf"

prüfen, um zu sehen, welche Website Ihre fb App für konfiguriert ist. Ich änderte meine Hosts-Datei, um local.mysite.com:3000 zu verwenden, und FB akzeptierte das.

Verwandte Themen