You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sup_File/config/passport.js

54 lines
1.8 KiB
JavaScript

var JwtStrategy = require('passport-jwt').Strategy;
var ExtractJwt = require('passport-jwt').ExtractJwt;
// load up the user model
var User = require('../models/user');
var config = require('../config/database'); // get db config file
var FacebookStrategy = require('passport-facebook').Strategy;
module.exports = function(passport) {
var opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme("jwt");
opts.secretOrKey = config.secret;
/*
passport.use(new FacebookStrategy({
clientID: "191092458179642",
clientSecret: "964e490d7e49a13ee7a77c9b65419fb3",
callbackURL: "http://localhost:3000/api/facebook/callback"
},
function(accessToken, refreshToken, profile, done) {
console.log('yaaauuu : ' + accessToken + ' ----- ' + profile.displayName);
User.findOrCreate({username: profile.displayName}, {username: profile.displayName, id: profile.id}, function(err, user) {
console.log('yaaauuu err : ' + ' ----- ' + err );
console.log('yaaauuu user : ' + ' ----- ' + JSON.stringify(user));
if (err) { return done(err); }
done(null, user);
});
}
));
*/
passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
User.findOne({id: jwt_payload.id, username: jwt_payload.username}, function(err, user) {
if (err) {
return done(err, false);
}
if (user) {
console.log('jwt_payloadddd : ' + JSON.stringify(jwt_payload));
console.log('useruseruser : ' + JSON.stringify(user));
done(null, user);
} else {
done(null, false);
}
});
}));
};