From 42cc19b4d9b872666a30a1a46b5f1df15aed183d Mon Sep 17 00:00:00 2001 From: KenTandrian Date: Sat, 15 Aug 2026 16:11:38 +0700 Subject: [PATCH] fix(api): optimize OIDC authentication flow --- apps/api/src/app/auth/oidc.strategy.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/api/src/app/auth/oidc.strategy.ts b/apps/api/src/app/auth/oidc.strategy.ts index 661f2a821..30c7673c7 100644 --- a/apps/api/src/app/auth/oidc.strategy.ts +++ b/apps/api/src/app/auth/oidc.strategy.ts @@ -15,10 +15,10 @@ import { OidcStateStore } from './oidc-state.store'; @Injectable() export class OidcStrategy extends PassportStrategy(Strategy, 'oidc') { - private readonly logger = new Logger(OidcStrategy.name); - private static readonly stateStore = new OidcStateStore(); + private readonly logger = new Logger(OidcStrategy.name); + public constructor( private readonly authService: AuthService, options: StrategyOptions @@ -48,11 +48,6 @@ export class OidcStrategy extends PassportStrategy(Strategy, 'oidc') { params?.sub ?? context?.claims?.sub; - const jwt = await this.authService.validateOAuthLogin({ - thirdPartyId, - provider: Provider.OIDC - }); - if (!thirdPartyId) { this.logger.error( `Missing subject identifier in OIDC response from ${issuer}` @@ -61,6 +56,11 @@ export class OidcStrategy extends PassportStrategy(Strategy, 'oidc') { throw new Error('Missing subject identifier in OIDC response'); } + const jwt = await this.authService.validateOAuthLogin({ + thirdPartyId, + provider: Provider.OIDC + }); + return { jwt }; } catch (error) { this.logger.error(error);