mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-02 11:39:12 +00:00
minor: retry logged in user after token refresh (#16215)
* minor: retry logged in user after token refresh * minor change * chore: remove unused code in AuthProvider.tsx
This commit is contained in:
parent
a5e30a0cdd
commit
9b7bdb1ea3
@ -99,6 +99,7 @@ const isEmailVerifyField = 'isEmailVerified';
|
||||
|
||||
let requestInterceptor: number | null = null;
|
||||
let responseInterceptor: number | null = null;
|
||||
let failedLoggedInUserRequest: boolean | null;
|
||||
|
||||
export const AuthProvider = ({
|
||||
childComponentType,
|
||||
@ -290,6 +291,12 @@ export const AuthProvider = ({
|
||||
// Start expiry timer on successful silent signIn
|
||||
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
||||
startTokenExpiryTimer();
|
||||
|
||||
// Retry the failed request after successful silent signIn
|
||||
if (failedLoggedInUserRequest) {
|
||||
await getLoggedInUserDetails();
|
||||
failedLoggedInUserRequest = null;
|
||||
}
|
||||
} else {
|
||||
// reset user details if silent signIn fails
|
||||
resetUserDetails(forceLogout);
|
||||
@ -510,6 +517,10 @@ export const AuthProvider = ({
|
||||
if (error.response) {
|
||||
const { status } = error.response;
|
||||
if (status === ClientErrors.UNAUTHORIZED) {
|
||||
// store the failed request for retry after successful silent signIn
|
||||
if (error.config.url === '/users/loggedInUser') {
|
||||
failedLoggedInUserRequest = true;
|
||||
}
|
||||
handleStoreProtectedRedirectPath();
|
||||
trySilentSignIn(true);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user