logout and ui glitch cleared
This commit is contained in:
parent
bbc1301342
commit
7c1d616676
@ -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);
|
||||||
|
|||||||
@ -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:', {
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user