Estrategia de pasaporte para autenticarse con cuentas de Microsoft (también conocidas como Windows Live) utilizando la API OAuth 2.0.
Este módulo le permite autenticarse usando Windows Live en sus aplicaciones Node.js. Al conectarse a Passport, la autenticación de Windows Live se puede integrar fácil y discretamente en cualquier aplicación o marco que admita middleware estilo Connect, incluido Express.
$ npm install passport-windowslive
Antes de utilizar passport-windowslive
, debe registrar una aplicación en Microsoft. Si aún no lo ha hecho, se puede crear una nueva aplicación en la administración de aplicaciones Live Connect. A su aplicación se le emitirá un ID de cliente y un secreto de cliente, que deben proporcionarse a la estrategia. También deberá configurar una URL de redireccionamiento que coincida con la ruta en su aplicación.
La estrategia de autenticación de Windows Live autentica a los usuarios mediante una cuenta de Windows Live y tokens OAuth 2.0. El ID del cliente y el secreto obtenidos al crear una aplicación se proporcionan como opciones al crear la estrategia. La estrategia también requiere una devolución de llamada verify
, que recibe el token de acceso y el token de actualización opcional, así como profile
que contiene el perfil de Windows Live del usuario autenticado. La devolución de llamada verify
debe llamar cb
proporcionando un usuario para completar la autenticación.
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); }); } ));
Utilice passport.authenticate()
, especificando la estrategia 'windowslive'
, para autenticar solicitudes.
Por ejemplo, como middleware de ruta en una aplicación 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('/'); });
Los desarrolladores que utilizan el popular marco web Express pueden consultar un ejemplo como punto de partida para sus propias aplicaciones web. El ejemplo muestra cómo autenticar usuarios usando Facebook. Sin embargo, debido a que tanto Facebook como Windows Live usan OAuth 2.0, el código es similar. Simplemente reemplace las referencias a Facebook con las referencias correspondientes a Windows Live.
Su solicitud de autenticación debe incluir wl.offline_access
como se detalla en alcances y permisos.
pasaporte.authenticate('windowslive', { alcance: [ 'wl.offline_access' ] })
El conjunto de pruebas se encuentra en el directorio test/
. Se espera que todas las funciones nuevas tengan los casos de prueba correspondientes. Asegúrese de que pase el conjunto de pruebas completo ejecutando:
$ hacer prueba
Se espera que todo el desarrollo de nuevas funciones tenga cobertura de prueba. Los parches que aumentan la cobertura de las pruebas se aceptan con agrado. Los reportes de cobertura se pueden visualizar ejecutando:
$ hacer prueba-cov $ hacer vista-cov
Este software se le proporciona como código abierto y gratuito. El tiempo y el esfuerzo para desarrollar y mantener este proyecto lo dedica @jaredhanson. Si usted (o su empleador) se beneficia de este proyecto, considere realizar una contribución financiera. Su contribución ayuda a continuar los esfuerzos que producen este y otro software de código abierto.
Se aceptan fondos a través de PayPal, Venmo y otros métodos. Se agradece cualquier cantidad.
La licencia MIT
Copyright (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>