mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 17:23:37 +00:00
[bug] Toggle tokens appropriatly based on timeout action (#661)
This commit is contained in:
@@ -22,9 +22,6 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
}
|
||||
|
||||
async setClientId(clientId: string): Promise<any> {
|
||||
if ((await this.skipTokenStorage()) || clientId == null) {
|
||||
return;
|
||||
}
|
||||
return await this.stateService.setApiKeyClientId(clientId);
|
||||
}
|
||||
|
||||
@@ -33,9 +30,6 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
}
|
||||
|
||||
async setClientSecret(clientSecret: string): Promise<any> {
|
||||
if ((await this.skipTokenStorage()) || clientSecret == null) {
|
||||
return;
|
||||
}
|
||||
return await this.stateService.setApiKeyClientSecret(clientSecret);
|
||||
}
|
||||
|
||||
@@ -52,9 +46,6 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
}
|
||||
|
||||
async setRefreshToken(refreshToken: string): Promise<any> {
|
||||
if (await this.skipTokenStorage()) {
|
||||
return;
|
||||
}
|
||||
return await this.stateService.setRefreshToken(refreshToken);
|
||||
}
|
||||
|
||||
@@ -62,25 +53,6 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
return await this.stateService.getRefreshToken();
|
||||
}
|
||||
|
||||
async toggleTokens(): Promise<any> {
|
||||
const token = await this.getToken();
|
||||
const refreshToken = await this.getRefreshToken();
|
||||
const clientId = await this.getClientId();
|
||||
const clientSecret = await this.getClientSecret();
|
||||
const timeout = await this.stateService.getVaultTimeout();
|
||||
const action = await this.stateService.getVaultTimeoutAction();
|
||||
|
||||
if ((timeout != null || timeout === 0) && action === "logOut") {
|
||||
// if we have a vault timeout and the action is log out, reset tokens
|
||||
await this.clearToken();
|
||||
}
|
||||
|
||||
await this.setToken(token);
|
||||
await this.setRefreshToken(refreshToken);
|
||||
await this.setClientId(clientId);
|
||||
await this.setClientSecret(clientSecret);
|
||||
}
|
||||
|
||||
async setTwoFactorToken(tokenResponse: IdentityTokenResponse): Promise<any> {
|
||||
return await this.stateService.setTwoFactorToken(tokenResponse.twoFactorToken);
|
||||
}
|
||||
@@ -214,10 +186,4 @@ export class TokenService implements TokenServiceAbstraction {
|
||||
|
||||
return Array.isArray(decoded.amr) && decoded.amr.includes("external");
|
||||
}
|
||||
|
||||
private async skipTokenStorage(): Promise<boolean> {
|
||||
const timeout = await this.stateService.getVaultTimeout();
|
||||
const action = await this.stateService.getVaultTimeoutAction();
|
||||
return timeout != null && action === "logOut";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user