mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-27 12:36:14 +01:00
make logout callback async
This commit is contained in:
parent
7112911cb8
commit
799c90af17
@ -20,7 +20,6 @@ export abstract class ApiService {
|
||||
baseUrl: string;
|
||||
identityBaseUrl: string;
|
||||
deviceType: string;
|
||||
logoutCallback: Function;
|
||||
|
||||
setUrls: (urls: EnvironmentUrls) => void;
|
||||
postIdentityToken: (request: TokenRequest) => Promise<IdentityTokenResponse | IdentityTwoFactorResponse>;
|
||||
|
@ -27,11 +27,9 @@ export class ApiService implements ApiServiceAbstraction {
|
||||
baseUrl: string;
|
||||
identityBaseUrl: string;
|
||||
deviceType: string;
|
||||
logoutCallback: Function;
|
||||
|
||||
constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,
|
||||
logoutCallback: Function) {
|
||||
this.logoutCallback = logoutCallback;
|
||||
private logoutCallback: (expired: boolean) => Promise<void>) {
|
||||
this.deviceType = platformUtilsService.getDevice().toString();
|
||||
}
|
||||
|
||||
@ -425,7 +423,7 @@ export class ApiService implements ApiServiceAbstraction {
|
||||
|
||||
private async handleError(response: Response, tokenError: boolean): Promise<ErrorResponse> {
|
||||
if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {
|
||||
this.logoutCallback(true);
|
||||
await this.logoutCallback(true);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import { TokenService } from '../abstractions/token.service';
|
||||
|
||||
export class NodeApiService extends ApiService {
|
||||
constructor(tokenService: TokenService, platformUtilsService: PlatformUtilsService,
|
||||
logoutCallback: Function) {
|
||||
logoutCallback: (expired: boolean) => Promise<void>) {
|
||||
super(tokenService, platformUtilsService, logoutCallback);
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ export class SyncService implements SyncServiceAbstraction {
|
||||
private settingsService: SettingsService, private folderService: FolderService,
|
||||
private cipherService: CipherService, private cryptoService: CryptoService,
|
||||
private collectionService: CollectionService, private storageService: StorageService,
|
||||
private messagingService: MessagingService, private logoutCallback: Function) {
|
||||
private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise<void>) {
|
||||
}
|
||||
|
||||
async getLastSync(): Promise<Date> {
|
||||
@ -134,7 +134,7 @@ export class SyncService implements SyncServiceAbstraction {
|
||||
const stamp = await this.userService.getSecurityStamp();
|
||||
if (stamp != null && stamp !== response.securityStamp) {
|
||||
if (this.logoutCallback != null) {
|
||||
this.logoutCallback(true);
|
||||
await this.logoutCallback(true);
|
||||
}
|
||||
|
||||
throw new Error('Stamp has changed');
|
||||
|
Loading…
Reference in New Issue
Block a user