logout and ui glitch cleared

This commit is contained in:
laxmanhalaki 2025-10-29 20:48:30 +05:30
parent bbc1301342
commit 7c1d616676
3 changed files with 8 additions and 3 deletions

View File

@ -304,7 +304,8 @@ export class AuthController {
ResponseHandler.success(res, { ResponseHandler.success(res, {
user: result.user, user: result.user,
accessToken: result.accessToken, accessToken: result.accessToken,
refreshToken: result.refreshToken refreshToken: result.refreshToken,
idToken: result.oktaIdToken // Include id_token for frontend logout
}, 'Token exchange successful'); }, 'Token exchange successful');
} catch (error) { } catch (error) {
logger.error('Token exchange failed:', error); logger.error('Token exchange failed:', error);

View File

@ -316,12 +316,13 @@ export class AuthService {
throw new Error('Invalid response format from Okta'); throw new Error('Invalid response format from Okta');
} }
const { access_token, refresh_token } = tokenResponse.data; const { access_token, refresh_token, id_token } = tokenResponse.data;
if (!access_token) { if (!access_token) {
logger.error('Missing access_token in Okta response', { logger.error('Missing access_token in Okta response', {
responseKeys: Object.keys(tokenResponse.data || {}), responseKeys: Object.keys(tokenResponse.data || {}),
hasRefreshToken: !!refresh_token, hasRefreshToken: !!refresh_token,
hasIdToken: !!id_token,
}); });
throw new Error('Failed to obtain access token from Okta - access_token missing in response'); throw new Error('Failed to obtain access token from Okta - access_token missing in response');
} }
@ -329,6 +330,7 @@ export class AuthService {
logger.info('Successfully obtained tokens from Okta', { logger.info('Successfully obtained tokens from Okta', {
hasAccessToken: !!access_token, hasAccessToken: !!access_token,
hasRefreshToken: !!refresh_token, hasRefreshToken: !!refresh_token,
hasIdToken: !!id_token,
}); });
// Get user info from Okta using access token // Get user info from Okta using access token
@ -439,9 +441,10 @@ export class AuthService {
// Return our JWT tokens along with Okta tokens (store Okta refresh token for future use) // Return our JWT tokens along with Okta tokens (store Okta refresh token for future use)
return { return {
...result, ...result,
// Store Okta refresh token separately if needed // Store Okta tokens separately if needed (especially id_token for logout)
oktaRefreshToken: refresh_token, oktaRefreshToken: refresh_token,
oktaAccessToken: access_token, oktaAccessToken: access_token,
oktaIdToken: id_token, // Include id_token for proper Okta logout
}; };
} catch (error: any) { } catch (error: any) {
logger.error('Token exchange with Okta failed:', { logger.error('Token exchange with Okta failed:', {

View File

@ -43,4 +43,5 @@ export interface LoginResponse {
refreshToken: string; refreshToken: string;
oktaRefreshToken?: string; oktaRefreshToken?: string;
oktaAccessToken?: string; oktaAccessToken?: string;
oktaIdToken?: string; // ID token for Okta logout
} }