File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed
openmetadata-ui/src/main/resources/ui/src
components/Auth/AuthProviders Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -514,10 +514,10 @@ export const AuthProvider = ({
514514 // Refresh the token and retry the requests in the queue
515515 tokenService . current
516516 . refreshToken ( )
517- . then ( ( token ) => {
517+ . then ( async ( token ) => {
518518 if ( token ) {
519519 // Retry the pending requests
520- initializeAxiosInterceptors ( ) ;
520+ await initializeAxiosInterceptors ( ) ;
521521 pendingRequests . forEach ( ( { resolve, reject, config } ) => {
522522 axiosClient . request ( config ) . then ( resolve ) . catch ( reject ) ;
523523 } ) ;
Original file line number Diff line number Diff line change @@ -87,8 +87,8 @@ class TokenService {
8787 this . setRefreshInProgress ( ) ;
8888
8989 try {
90- const token = await getOidcToken ( ) ;
91- const { isExpired, timeoutExpiry } = extractDetailsFromToken ( token ) ;
90+ const oldToken = await getOidcToken ( ) ;
91+ const { isExpired, timeoutExpiry } = extractDetailsFromToken ( oldToken ) ;
9292
9393 // If token is expired or timeoutExpiry is less than 0 then try to silent signIn
9494 if ( isExpired || timeoutExpiry <= 0 ) {
@@ -160,6 +160,21 @@ class TokenService {
160160 isTokenUpdateInProgress ( ) {
161161 return localStorage . getItem ( REFRESH_IN_PROGRESS_KEY ) === 'true' ;
162162 }
163+
164+ private async waitForTokenPersistence ( oldToken : string ) {
165+ const maxAttempts = 20 ;
166+ const delayMs = 50 ;
167+
168+ for ( let attempt = 0 ; attempt < maxAttempts ; attempt ++ ) {
169+ await new Promise ( ( resolve ) => setTimeout ( resolve , delayMs ) ) ;
170+
171+ const currentToken = await getOidcToken ( ) ;
172+
173+ if ( currentToken && currentToken !== oldToken ) {
174+ return ;
175+ }
176+ }
177+ }
163178}
164179
165180export default TokenService ;
You can’t perform that action at this time.
0 commit comments