1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 21:33:27 +00:00

Auth/PM-13659 - 2FA Timeout - Attempted Fix (#12263)

fix(auth): attempt to resolve 2FA session timeout issue
This commit is contained in:
Jared Snider
2024-12-05 20:22:13 -05:00
committed by GitHub
parent d6e1fe70ca
commit 8d68a2dd58
4 changed files with 31 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
import { InjectionToken } from "@angular/core";
import { Observable, Subject } from "rxjs";
import { LogoutReason } from "@bitwarden/auth/common";
import { Executor, LogoutReason } from "@bitwarden/auth/common";
import { ClientType } from "@bitwarden/common/enums";
import { RegionConfig } from "@bitwarden/common/platform/abstractions/environment.service";
import {
@@ -68,3 +68,7 @@ export const REFRESH_ACCESS_TOKEN_ERROR_CALLBACK = new SafeInjectionToken<() =>
export const ENV_ADDITIONAL_REGIONS = new SafeInjectionToken<RegionConfig[]>(
"ENV_ADDITIONAL_REGIONS",
);
export const AUTHN_SESSION_TIMEOUT_EXECUTOR = new SafeInjectionToken<Executor>(
"AuthnSessionTimeoutExecutor",
);

View File

@@ -1,4 +1,4 @@
import { ErrorHandler, LOCALE_ID, NgModule } from "@angular/core";
import { ErrorHandler, LOCALE_ID, NgModule, NgZone } from "@angular/core";
import { Subject } from "rxjs";
import {
@@ -319,6 +319,7 @@ import {
CLIENT_TYPE,
REFRESH_ACCESS_TOKEN_ERROR_CALLBACK,
ENV_ADDITIONAL_REGIONS,
AUTHN_SESSION_TIMEOUT_EXECUTOR,
} from "./injection-tokens";
import { ModalService } from "./modal.service";
@@ -411,6 +412,11 @@ const safeProviders: SafeProvider[] = [
TokenServiceAbstraction,
],
}),
safeProvider({
provide: AUTHN_SESSION_TIMEOUT_EXECUTOR,
useFactory: (ngZone: NgZone) => (fn: () => void) => ngZone.run(fn),
deps: [NgZone],
}),
safeProvider({
provide: LoginStrategyServiceAbstraction,
useClass: LoginStrategyService,
@@ -440,6 +446,7 @@ const safeProviders: SafeProvider[] = [
VaultTimeoutSettingsServiceAbstraction,
KdfConfigService,
TaskSchedulerService,
AUTHN_SESSION_TIMEOUT_EXECUTOR,
],
}),
safeProvider({