UNPKG

linear

Version:

A simple setup micro-forum built in Node.js with Express and MongoDB.

40 lines (28 loc) 1.11 kB
const profileController = require('../../controllers/profile'); const passport = require('passport'); const TwitterStrategy = require('passport-twitter').Strategy; if (process.env.TWITTER_CONSUMER_KEY && process.env.TWITTER_CONSUMER_SECRET && process.env.TWITTER_CALLBACK) { passport.use(new TwitterStrategy({ 'callbackURL': process.env.TWITTER_CALLBACK, 'consumerKey': process.env.TWITTER_CONSUMER_KEY, 'consumerSecret': process.env.TWITTER_CONSUMER_SECRET }, (accessToken, refreshToken, data, done) => { profileController.create('twitter', { 'avatar': data.photos[0].value.replace(/_normal\.(.+)?/, '_bigger.$1'), 'id': data.id, 'name': data.displayName }) .then(profile => { done(null, profile); }); })); module.exports = router => { router.get('/', passport.authenticate('twitter')); router.get('/callback', passport.authenticate('twitter', { 'failureRedirect': '/login/', 'successRedirect': '/login/success/' })); }; }