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
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: '/' }));
|