39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { Injectable, inject } from '@outposts/injection-js';
|
|
import { AuthStateService } from '../auth-state/auth-state.service';
|
|
import type { OpenIdConfiguration } from '../config/openid-configuration';
|
|
import { LoggerService } from '../logging/logger.service';
|
|
import { UserService } from '../user-data/user.service';
|
|
import { FlowsDataService } from './flows-data.service';
|
|
|
|
@Injectable()
|
|
export class ResetAuthDataService {
|
|
private readonly loggerService = inject(LoggerService);
|
|
|
|
private readonly userService = inject(UserService);
|
|
|
|
private readonly flowsDataService = inject(FlowsDataService);
|
|
|
|
private readonly authStateService = inject(AuthStateService);
|
|
|
|
resetAuthorizationData(
|
|
currentConfiguration: OpenIdConfiguration | null,
|
|
allConfigs: OpenIdConfiguration[]
|
|
): void {
|
|
if (!currentConfiguration) {
|
|
return;
|
|
}
|
|
|
|
this.userService.resetUserDataInStore(currentConfiguration, allConfigs);
|
|
this.flowsDataService.resetStorageFlowData(currentConfiguration);
|
|
this.authStateService.setUnauthenticatedAndFireEvent(
|
|
currentConfiguration,
|
|
allConfigs
|
|
);
|
|
|
|
this.loggerService.logDebug(
|
|
currentConfiguration,
|
|
'Local Login information cleaned up and event fired'
|
|
);
|
|
}
|
|
}
|