javascript - Sign in With Twitter using JWT, NodeJS and AngularJS -


i'm having big issue i'm not sure code design issue or i'm trying makes no sense.

i've implemented local sign using passport authentication , jwt route access , permissions. send token front end , save localstorage using angularjs.

everything there works , makes sense. twitter, can't figure out how implement same strategy getting user logged in.

i've set on twitter side, use passport login , registering. don't see how possible send token front end because can use request receive information twitter api.

i redirect twitter login, redirect callback url. comes after that? have relevant code returns jwt. i'm asking how can pass angular in best way possible?

routes:

app.get('/login/twitter', passport.authenticate('twitter')); app.get('/login/twitter/callback', function(req, res) {     passport.authenticate('twitter' , function(err, user, info) {         if(err) {             res.json({                 'message': err             });         }         var token;         token = user.generatejwt();         res.status(200);         res.json({             "token" : token         });     })(req, res); }); 

passport:

passport.use(new twitterstrategy({consumerkey: auth.twitterauth.consumerkey, consumersecret: auth.twitterauth.consumersecret, callbackurl: auth.twitterauth.callbackurl}, function(req, key, keysecret, profile, done) {     user.findone({'twitter.id' : profile.id}, function(err, user) {         if(err) {             return done(err);         }         if(user) {             if(!user.twitter.token) {                 user.twitter.token = key;                 user.twitter.username = profile.username;                 user.twitter.displayname = profile.displayname;                  user.save(function(err) {                     if(err) {                         res.json({                             'message': err                         });                     }                     return done(null, user);                 });             }             return done(null, user);         }         let newuser = new user();          newuser.twitter.id = profile.id;         newuser.twitter.token = key;         newuser.twitter.username = profile.username;         newuser.twitter.displayname = profile.displayname;         newuser.twitter.registerdate = date.now();          newuser.save(function(err) {             if(err) {                 res.json({                     'message': err                 });             }             return done(null, newuser);         });     }); })); 


Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -