Wenn die übliche Sache mit Facebook-Pass zu tun ist, um die redirect_uri
im Konstruktor des FacebookStrategy thst spezifizieren Sie so etwas wie diese,:Kann der Rückruf für Facebook-Passport dynamisch aufgebaut werden?
passport.use("facebook", new FacebookStrategy({
//TODO: Correctly configure me
clientID: "XXXXXXX"
, clientSecret: "XXXXXXXXX"
, callbackURL: "http://localhost:3007/auth/facebook/callback"
},
function(accessToken,refreshToken,profile,done) {
User.findByFacebookId(profile.id, function(err,user) {
if(err){ return done(err);}
if(!user){ return done(null,false)}
return done(null, user);
});
})
);
Dann würden Sie wie folgt aufgebaut Routen:
app.get('/auth/facebook/login', passport.authenticate('facebook'));
app.get('/auth/facebook/login_callback', passport.authenticate('facebook', {
successRedirect:"/login_ok.html"
, failureRedirect:"/login_failed.html"
}
))
Ist es möglich, die Callback-URL so zu ändern, dass sie Informationen aus Parametern enthält, die an den ersten Login-Aufruf übergeben wurden?
HINWEIS: Diese Frage ist mehr für das Bewahren von Informationen, die mich eine Weile brauchten, um zu vermeiden, dass andere die gleichen Wege gehen.
Danke für das Posten, es war eine Menge Hilfe. Ich habe das Gleiche getan und es hat funktioniert. Eine Sache, die mir bei der Verwendung dynamischer Callback-URLs aufgefallen ist, ist, dass ich die CallbackURL bei der Konfiguration der neuen FacebookStrategy nicht einstellen muss (...). –
großartige Funktion. Ich bin mir nicht sicher, ob Sie das einfach für Twitter und Google tun können, aber wenn nicht, gibt es eine gute Lösung [hier] (http://stackoverflow.com/questions/9885711/custom-returnurl-on-node-js passports-google-strategie) für jeden, der diesen oauth-service nutzt. –
kann ich Abfragezeichenfolge wie req.query.xxx in URL anstelle von Param? Ich bekomme immer eine ungültige URI – OMGPOP