Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import { PassportStrategy } from '@nestjs/passport'; import { Strategy, Profile } from 'passport-facebook'; import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { AuthService } from '../auth.service'; @Injectable() export class FacebookStrategy extends PassportStrategy(Strategy, 'facebook') { constructor( private configService: ConfigService, private authService: AuthService, ) { super({ clientID: configService.get<string>('FACEBOOK_APP_ID'), clientSecret: configService.get<string>('FACEBOOK_APP_SECRET'), callbackURL: '/api/v1/auth/facebook/callback', scope: 'email', profileFields: ['emails', 'name', 'photos'], }); } async validate( accessToken: string, refreshToken: string, profile: Profile, done: (err: any, user: any, info?: any) => void, ): Promise<any> { try { const result = await this.authService.facebookLogin(profile); done(null, result); } catch (error) { done(error, null); } } } |