🐛 Handle infinite loop from oidc (#282)
This commit is contained in:
@@ -194,7 +194,7 @@ class Login extends Observable {
|
||||
}
|
||||
await this.updateUser();
|
||||
} catch (err) {
|
||||
this.logger.error('Can not login', err);
|
||||
throw Error('Can not login');
|
||||
} finally {
|
||||
this.logger.debug('Login process finished');
|
||||
Login.logInOngoing = false;
|
||||
|
||||
@@ -11,7 +11,7 @@ import { AuthProvider, InitParameters } from '../auth-provider';
|
||||
import jwtStorageService, { JWTDataType } from '@features/auth/jwt-storage-service';
|
||||
import LocalStorage from '@features/global/framework/local-storage-service';
|
||||
import ConsoleApiClient from '@features/console/api/console-api-client';
|
||||
import JwtStorageService from "@features/auth/jwt-storage-service";
|
||||
import JwtStorageService from '@features/auth/jwt-storage-service';
|
||||
|
||||
const OIDC_CALLBACK_URL = '/oidccallback';
|
||||
const OIDC_SIGNOUT_URL = '/signout';
|
||||
@@ -70,15 +70,15 @@ export default class OIDCAuthProviderService
|
||||
this.signOut();
|
||||
}
|
||||
|
||||
this.userManager.events.addUserSessionChanged((... args) => {
|
||||
this.userManager.events.addUserSessionChanged((...args) => {
|
||||
this.logger.debug('User Session changed:', args);
|
||||
});
|
||||
|
||||
this.userManager.events.addSilentRenewError((... args) => {
|
||||
this.userManager.events.addSilentRenewError((...args) => {
|
||||
this.logger.debug('Silent Renew Error:', args);
|
||||
});
|
||||
|
||||
this.userManager.events.addUserUnloaded((... args) => {
|
||||
this.userManager.events.addUserUnloaded((...args) => {
|
||||
this.logger.debug('User unloaded:', args);
|
||||
});
|
||||
|
||||
@@ -97,7 +97,7 @@ export default class OIDCAuthProviderService
|
||||
await this.signIn();
|
||||
});
|
||||
}
|
||||
this.logger.info("Init completed")
|
||||
this.logger.info('Init completed');
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -119,14 +119,14 @@ export default class OIDCAuthProviderService
|
||||
this.onInitialized();
|
||||
this.initialized = true;
|
||||
}
|
||||
this.logger.info("Setting new access token");
|
||||
this.logger.info('Setting new access token');
|
||||
await this.params?.onNewToken(jwt);
|
||||
} catch (err) {
|
||||
this.logger.error(
|
||||
'OIDC user loaded listener, error while getting the JWT from OIDC token',
|
||||
err,
|
||||
);
|
||||
await this.signinRedirect();
|
||||
throw Error('Error while getting the JWT from OIDC token');
|
||||
}
|
||||
} else {
|
||||
await this.signinRedirect();
|
||||
@@ -173,11 +173,12 @@ export default class OIDCAuthProviderService
|
||||
this.logger.info('getJWTFromOidcToken, user expired');
|
||||
}
|
||||
|
||||
const jwt = await ConsoleApiClient.getNewAccessToken(
|
||||
{ id_token: user.id_token, access_token: user.access_token },
|
||||
);
|
||||
const jwt = await ConsoleApiClient.getNewAccessToken({
|
||||
id_token: user.id_token,
|
||||
access_token: user.access_token,
|
||||
});
|
||||
|
||||
JwtStorageService.updateJWT(jwt)
|
||||
JwtStorageService.updateJWT(jwt);
|
||||
|
||||
return jwt;
|
||||
}
|
||||
|
||||
@@ -76,9 +76,19 @@ class InitService extends Observable {
|
||||
}
|
||||
|
||||
async getServer() {
|
||||
return await Api.get<ServerInfoType>('/internal/services/general/v1/server', undefined, false, {
|
||||
disableJWTAuthentication: true,
|
||||
});
|
||||
try {
|
||||
return await Api.get<ServerInfoType>(
|
||||
'/internal/services/general/v1/server',
|
||||
undefined,
|
||||
false,
|
||||
{
|
||||
disableJWTAuthentication: true,
|
||||
},
|
||||
);
|
||||
} catch (e) {
|
||||
this.logger.error('Error while getting server infos', e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
async init() {
|
||||
|
||||
Reference in New Issue
Block a user