Ich verwende die Passport-Linkedin-Strategie für Passport mit Express, damit sich Benutzer mit ihrem LinkedIn-Profil anmelden können.Wie wird der aktuelle Host für die Passport-Strategie callbackURL festgelegt?
Ich habe den folgenden Code:
passport.use(new LinkedInStrategy({
consumerKey: config.linkedin.LINKEDIN_API_KEY,
consumerSecret: config.linkedin.LINKEDIN_SECRET_KEY,
callbackURL: "http://localhost:3000/auth/linkedin/callback"
},
function(token, tokenSecret, profile, done) {
// asynchronous verification, for effect...
process.nextTick(function() {
// To keep the example simple, the user's LinkedIn profile is returned to
// represent the logged-in user. In a typical application, you would want
// to associate the LinkedIn account with a user record in your database,
// and return that user instead.
return done(null, profile);
});
}
));
Zeile 4, ich habe manuell die vollständige Rückruf-URL zu setzen. Ich hatte eine Zeichenfolge für die Produktion und eine für die Entwicklung, aber meine URLs ändern sich ständig, und ebenso die Ports (ich benutze 2 Maschinen für die Entwicklung).
Wie kann ich den ersten Teil der URL (http://localhost:3000
) automatisch einstellen? Gibt es eine Eigenschaft von express
oder app
, die mir erlauben würde, das zu tun? Muss ich auf eine app.use(function(req, res){});
zurückgreifen?
Danke!
Es funktioniert nicht, wenn Ihre App nicht im Root-Pfad läuft, zum Beispiel läuft sie auf '/ myapp' anstelle von'/'. –