passport.use(new BearerStrategy({}, function(token, done) { user = User.findByToken(token); if (user) return done(null, user); else return done(null, false); } ));
passport.use(new LocalStrategy(function(username, password, done) { fetchUser() .then(user => { if (username === user.username && password === user.password) { done(null, user) } else { done(null, false) } }) .catch(err => done(err)) }))
passport.use(new TwitterStrategy({ consumerKey: 'your-consumer-key', consumerSecret: 'your-secret', callbackURL: 'http://localhost:' + (process.env.PORT || 3000) + '/auth/twitter/callback' }, function(token, tokenSecret, profile, done) { // retrieve user ... fetchUser().then(user => done(null, user)) } ))
passport.use(new TwitterStrategy({ consumerKey: 'RjFsXBziafOwKl20QEa057jNx', //lo mas correcto es poner process.env.TWITTER_CONSUMERKEY consumerSecret: 'YTC7HHLDzvtiDtztATz1EgB8TIJkANrB0QJkOls6gTPo4dkhEt', userProfileURL: 'https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true', //para pedir el email callbackUrl: 'http://localhost:9000/auth/twitter/callback' //esta tiene que coincidir con la introducida en twitter //lo correcto seriia crear otra variable de entorno con el dominio. }, async (token, tokenSecret, profile, done)=>{ let user = await UserModel.findOne({provider: profile.provider, providerId: profile.id}); if(!user){ user = await new UserModel({ provider: profile.provider, providerId: profile.providerId, name: profile.emails && profile.emails.length > 0 ? profile.emails[0].value : '' }).save(); } else { if(profile.emails && profile.emails.length > 0){ user.email = profile.emails[0].value; await user.save(); } } done(null, user); }));
passport.use(new BasicStrategy((username, password, done)=>{ logger.debug(`Doing authentication with ${username} and ${password}`); const user = users.filter((user) => user.username === username && user.password === password); if(user.length === 0){ done(null, false); }else{ done(null, user[0]); } /*if(username === 'admin' && password === 'admin'){ done(null, { name: 'Admin', role: 'ADMIN' }); }else{ done(null, false); }*/ }))
passport.use( new FacebookStrategy(
passport.use(new PasswordGrantStrategy({ tokenURL: 'http://localhost:3001/api/v1/oauth/token', clientID: 'democlient1', clientSecret: 'democlientsecret1', scope:'profile', grant_type: 'password', customHeaders: {"Authorization": "Basic ZGVtb2NsaWVudDE6ZGVtb2NsaWVudHNlY3JldDE=","scope":"profile"} }, function(accessToken, refreshToken, profile, done) { console.log("Details ",accessToken,profile); done(null, profile); }))
passport.use( new LocalStrategy(
passport.use(new LocalStrategy({ usernameField: 'email', passwordField: 'password', session: true }, async (email, password, done) =>{ const user = await UserModel.findOne({ email }); if(!user){ done(null, false); return; } const hashPass = crypto.createHash('sha512').update(password+user.salt).digest('hex'); if(hashPass !== user.password){ done(null, false); return; } done(null, user); }))
passport.use( new LocalStrategy( { session: true, // form post requestBody field names usernameField: "username", passwordField: "password", }, function (username, password, done) { const user = localUsers[username]; if (user) { done(null, user); } else { done(null, false); } }, ), );
passport.use(new GoogleStrategy({ clientId: 'your-client-id', clientSecret: 'your-secret', callbackURL: 'http://localhost:' + (process.env.PORT || 3000) + '/auth/google/callback' }, function(token, tokenSecret, profile, done) { // retrieve user ... fetchUser().then(user => done(null, user)) } ))
passport.use(new FacebookStrategy({ clientID: 'your-client-id', clientSecret: 'your-secret', callbackURL: 'http://localhost:' + (process.env.PORT || 3000) + '/auth/facebook/callback' }, function(token, tokenSecret, profile, done) { // retrieve user ... fetchUser().then(user => done(null, user)) } ))