Last active
May 20, 2018 21:19
-
-
Save pizzapanther/db5bd5c0115892544fee27735c4a7027 to your computer and use it in GitHub Desktop.
Passport JS Twitter Starter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require('express'); | |
const nunjucks = require('nunjucks'); | |
const body_parser = require('body-parser'); | |
const session = require('express-session'); | |
var app = express(); | |
nunjucks.configure('views', { | |
autoescape: true, | |
express: app, | |
noCache: true | |
}); | |
//--- passport config ---// | |
var passport = require('passport'); | |
var TwitterStrategy = require('passport-twitter').Strategy; | |
passport.use(new TwitterStrategy({ | |
consumerKey: process.env.TWITTER_KEY, | |
consumerSecret: process.env.TWITTER_SECRET, | |
callbackURL: "https://example.com/auth/twitter/callback" | |
}, | |
function(token, tokenSecret, profile, done) { | |
console.log(profile); | |
done(null, profile); | |
} | |
)); | |
passport.serializeUser(function(user, cb) { | |
cb(null, user); | |
}); | |
passport.deserializeUser(function(obj, cb) { | |
cb(null, obj); | |
}); | |
app.use(session({ | |
secret: process.env.SECRET_KEY || 'dev', | |
resave: true, | |
saveUninitialized: false, | |
cookie: {maxAge: 60000} | |
})); | |
app.use(body_parser.urlencoded({extended: false})); | |
app.use(express.static('public')); | |
//--- passport config ---// | |
app.use(passport.initialize()); | |
app.use(passport.session()); | |
//--- passport routes ---// | |
app.get('/auth/twitter', passport.authenticate('twitter')); | |
app.get('/auth/twitter/callback', | |
passport.authenticate('twitter', { successRedirect: '/', | |
failureRedirect: '/login' })); | |
app.listen(8000, function () { | |
console.log('Listening on port 8000'); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment