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

24 lines
771 B

import { Strategy, Profile, IStrategyOptionBase } from 'passport-twitter';
import { Router } from 'express'
import passport from 'passport'
import genericStrategy from '../strategy'
const strategyOptions: IStrategyOptionBase = {
consumerKey: process.env.TWITTER_CONSUMER_KEY as string,
consumerSecret: process.env.TWITTER_CONSUMER_SECRET as string,
callbackURL: '/auth/twitter/redirect',
includeEmail: true,
}
export function twitterStrategy() {
return new Strategy(strategyOptions, genericStrategy<Profile>('twitter'));
}
export const twitterRouter = Router()
twitterRouter.get('/twitter', passport.authenticate('twitter'));
twitterRouter.get('/twitter/redirect',
passport.authenticate('twitter', { successRedirect: '/museo', failureRedirect: '/' }));