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 @@ -499,10 +499,10 @@ export const AuthProvider = ({
499499 // Refresh the token and retry the requests in the queue
500500 tokenService . current
501501 . refreshToken ( )
502- . then ( ( token ) => {
502+ . then ( async ( token ) => {
503503 if ( token ) {
504504 // Retry the pending requests
505- initializeAxiosInterceptors ( ) ;
505+ await initializeAxiosInterceptors ( ) ;
506506 pendingRequests . forEach ( ( { resolve, reject, config } ) => {
507507 axiosClient . request ( config ) . then ( resolve ) . catch ( reject ) ;
508508 } ) ;
Original file line number Diff line number Diff line change @@ -90,8 +90,8 @@ class TokenService {
9090 this . setRefreshInProgress ( ) ;
9191
9292 try {
93- const token = await getOidcToken ( ) ;
94- const { isExpired, timeoutExpiry } = extractDetailsFromToken ( token ) ;
93+ const oldToken = await getOidcToken ( ) ;
94+ const { isExpired, timeoutExpiry } = extractDetailsFromToken ( oldToken ) ;
9595
9696 // If token is expired or timeoutExpiry is less than 0 then try to silent signIn
9797 if ( isExpired || timeoutExpiry <= 0 ) {
@@ -163,6 +163,21 @@ class TokenService {
163163 isTokenUpdateInProgress ( ) {
164164 return localStorage . getItem ( REFRESH_IN_PROGRESS_KEY ) === 'true' ;
165165 }
166+
167+ private async waitForTokenPersistence ( oldToken : string ) {
168+ const maxAttempts = 20 ;
169+ const delayMs = 50 ;
170+
171+ for ( let attempt = 0 ; attempt < maxAttempts ; attempt ++ ) {
172+ await new Promise ( ( resolve ) => setTimeout ( resolve , delayMs ) ) ;
173+
174+ const currentToken = await getOidcToken ( ) ;
175+
176+ if ( currentToken && currentToken !== oldToken ) {
177+ return ;
178+ }
179+ }
180+ }
166181}
167182
168183export default TokenService ;
You can’t perform that action at this time.
0 commit comments