oidc-client-rx/src/flows/reset-auth-data.service.ts

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'
);
}
}