Stratégie Passport pour l'authentification avec les comptes Microsoft (alias Windows Live) à l'aide de l'API OAuth 2.0.
Ce module vous permet de vous authentifier à l'aide de Windows Live dans vos applications Node.js. En se connectant à Passport, l'authentification Windows Live peut être intégrée facilement et discrètement à n'importe quelle application ou framework prenant en charge le middleware de style Connect, y compris Express.
$ npm install passport-windowslive
Avant d'utiliser passport-windowslive
, vous devez enregistrer une application auprès de Microsoft. Si vous ne l'avez pas déjà fait, une nouvelle application peut être créée dans la gestion des applications Live Connect. Votre application recevra un identifiant client et un secret client, qui doivent être fournis à la stratégie. Vous devrez également configurer une URL de redirection qui correspond à l'itinéraire dans votre application.
La stratégie d'authentification Windows Live authentifie les utilisateurs à l'aide d'un compte Windows Live et de jetons OAuth 2.0. L'ID client et le secret obtenus lors de la création d'une application sont fournis en options lors de la création de la stratégie. La stratégie nécessite également un rappel verify
, qui reçoit le jeton d'accès et le jeton d'actualisation facultatif, ainsi qu'un profile
contenant le profil Windows Live de l'utilisateur authentifié. Le rappel verify
doit appeler cb
en fournissant un utilisateur pour terminer l'authentification.
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); }); } ));
Utilisez passport.authenticate()
, en spécifiant la stratégie 'windowslive'
, pour authentifier les demandes.
Par exemple, en tant que middleware de routage dans une application Express :
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('/'); });
Les développeurs utilisant le framework Web Express populaire peuvent se référer à un exemple comme point de départ pour leurs propres applications Web. L'exemple montre comment authentifier les utilisateurs à l'aide de Facebook. Cependant, comme Facebook et Windows Live utilisent OAuth 2.0, le code est similaire. Remplacez simplement les références à Facebook par les références correspondantes à Windows Live.
Votre demande d'authentification doit inclure wl.offline_access
comme détaillé dans les étendues et autorisations.
passeport.authenticate('windowslive', { scope: [ 'wl.offline_access' ] })
La suite de tests se trouve dans le répertoire test/
. Toutes les nouvelles fonctionnalités devraient avoir des cas de test correspondants. Assurez-vous que la suite de tests complète réussit en exécutant :
$ faire un test
Tout développement de nouvelles fonctionnalités devrait bénéficier d’une couverture de test. Les correctifs qui augmentent la couverture des tests sont acceptés avec plaisir. Les rapports de couverture peuvent être consultés en exécutant :
$ faire un test-cov $ faire vue-cov
Ce logiciel vous est fourni gratuitement en open source. Le temps et les efforts nécessaires au développement et à la maintenance de ce projet sont consacrés par @jaredhanson. Si vous (ou votre employeur) bénéficiez de ce projet, pensez à une contribution financière. Votre contribution contribue à poursuivre les efforts qui produisent ce logiciel et d'autres logiciels open source.
Les fonds sont acceptés via PayPal, Venmo et d'autres méthodes. Tout montant est apprécié.
La licence MIT
Copyright (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>