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 37 | import { AuthService } from "@/modules/api/auth/auth.service"; import { Config } from "@/modules/shared/config/types"; import { Services } from "@/types/Constants"; import { Inject, Injectable } from "@nestjs/common"; import { ConfigService } from "@nestjs/config"; import { PassportStrategy } from "@nestjs/passport"; import { Profile, Strategy } from "passport-discord"; @Injectable() export class DiscordStrategy extends PassportStrategy(Strategy, "Discord") { constructor( @Inject(Services.Auth) private readonly authService: AuthService, private readonly config: ConfigService, ) { const Configs = config.getOrThrow<Config["Discord"]>("Discord").Client; super({ clientID: Configs.ID, clientSecret: Configs.Secret, callbackURL: Configs.CallbackURL, scope: ["identify", "guilds", "email"], }); } async validate(accessToken: string, refreshToken: string, profile: Profile) { const { username, id, avatar, email } = profile; const details = { username, id, avatar, email, accessToken, refreshToken, }; return await this.authService.validateUser(details); } } |