Passport-Strategie für die Authentifizierung mit Microsoft-Konten (auch bekannt als Windows Live) mithilfe der OAuth 2.0-API.
Mit diesem Modul können Sie sich mit Windows Live in Ihren Node.js-Anwendungen authentifizieren. Durch die Anbindung an Passport kann die Windows Live-Authentifizierung einfach und unauffällig in jede Anwendung oder jedes Framework integriert werden, das Middleware im Connect-Stil unterstützt, einschließlich Express.
$ npm install passport-windowslive
Bevor Sie passport-windowslive
verwenden können, müssen Sie eine Anwendung bei Microsoft registrieren. Sofern noch nicht geschehen, kann in der Live Connect-App-Verwaltung eine neue Anwendung erstellt werden. Ihre Bewerbung erhält eine Kunden-ID und ein Kundengeheimnis, die der Strategie zur Verfügung gestellt werden müssen. Sie müssen außerdem eine Weiterleitungs-URL konfigurieren, die der Route in Ihrer Anwendung entspricht.
Die Windows Live-Authentifizierungsstrategie authentifiziert Benutzer mithilfe eines Windows Live-Kontos und OAuth 2.0-Tokens. Die beim Erstellen einer Anwendung erhaltene Client-ID und das Geheimnis werden beim Erstellen der Strategie als Optionen bereitgestellt. Die Strategie erfordert außerdem einen verify
, der das Zugriffstoken und optionale Aktualisierungstoken sowie profile
empfängt, das das Windows Live-Profil des authentifizierten Benutzers enthält. Der verify
muss cb
aufrufen, um einem Benutzer die vollständige Authentifizierung zu ermöglichen.
passport.use(new WindowsLiveStrategy({ clientID: WINDOWS_LIVE_CLIENT_ID, clientSecret: WINDOWS_LIVE_CLIENT_SECRET, callbackURL: "http://www.example.com/auth/windowslive/callback" }, function(accessToken, refreshToken, profile, cb) { User.findOrCreate({ windowsliveId: profile.id }, function (err, user) { return cb(err, user); }); } ));
Verwenden Sie passport.authenticate()
unter Angabe der 'windowslive'
-Strategie, um Anfragen zu authentifizieren.
Zum Beispiel als Routen-Middleware in einer Express-Anwendung:
app.get('/auth/windowslive', passport.authenticate('windowslive', { scope: ['wl.signin', 'wl.basic'] })); app.get('/auth/windowslive/callback', passport.authenticate('windowslive', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); });
Entwickler, die das beliebte Express-Webframework verwenden, können auf ein Beispiel als Ausgangspunkt für ihre eigenen Webanwendungen zurückgreifen. Das Beispiel zeigt, wie Benutzer über Facebook authentifiziert werden. Da jedoch sowohl Facebook als auch Windows Live OAuth 2.0 verwenden, ist der Code ähnlich. Ersetzen Sie einfach Verweise auf Facebook durch entsprechende Verweise auf Windows Live.
Ihre Authentifizierungsanfrage muss wl.offline_access
enthalten, wie in den Bereichen und Berechtigungen beschrieben.
Passport.authenticate('windowslive', { Scope: [ 'wl.offline_access' ] })
Die Testsuite befindet sich im Verzeichnis test/
. Für alle neuen Funktionen wird erwartet, dass es entsprechende Testfälle gibt. Stellen Sie sicher, dass die gesamte Testsuite erfolgreich ist, indem Sie Folgendes ausführen:
$ test machen
Es wird erwartet, dass alle neuen Funktionsentwicklungen eine Testabdeckung haben. Patches, die die Testabdeckung erhöhen, werden gerne angenommen. Abdeckungsberichte können angezeigt werden, indem Sie Folgendes ausführen:
$ make test-cov $ make view-cov
Diese Software wird Ihnen als Open Source kostenlos zur Verfügung gestellt. Die Zeit und Mühe, die für die Entwicklung und Pflege dieses Projekts aufgewendet wird, wird von @jaredhanson aufgewendet. Wenn Sie (oder Ihr Arbeitgeber) von diesem Projekt profitieren, denken Sie bitte über eine finanzielle Spende nach. Ihr Beitrag trägt dazu bei, die Bemühungen fortzusetzen, die diese und andere Open-Source-Software hervorbringen.
Gelder werden über PayPal, Venmo und andere Methoden akzeptiert. Jeder Betrag ist willkommen.
Die MIT-Lizenz
Copyright (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>