diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/components/organization-options.component.ts b/apps/web/src/app/vault/individual-vault/vault-filter/components/organization-options.component.ts index 981e5703cb3..3b707f2d78c 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/components/organization-options.component.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/components/organization-options.component.ts @@ -25,7 +25,6 @@ import { AccountService } from "@bitwarden/common/auth/abstractions/account.serv import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction"; import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction"; import { getUserId } from "@bitwarden/common/auth/services/account.service"; -import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; @@ -181,13 +180,7 @@ export class OrganizationOptionsComponent implements OnInit, OnDestroy { message: this.i18nService.t("unlinkedSso"), }); - const disableAlternateLoginMethodsFlagEnabled = await this.configService.getFeatureFlag( - FeatureFlag.PM22110_DisableAlternateLoginMethods, - ); - - if (disableAlternateLoginMethodsFlagEnabled) { - await this.removeEmailFromSsoRequiredCacheIfPresent(); - } + await this.removeEmailFromSsoRequiredCacheIfPresent(); } catch (e) { this.logService.error(e); } @@ -214,13 +207,7 @@ export class OrganizationOptionsComponent implements OnInit, OnDestroy { message: this.i18nService.t("leftOrganization"), }); - const disableAlternateLoginMethodsFlagEnabled = await this.configService.getFeatureFlag( - FeatureFlag.PM22110_DisableAlternateLoginMethods, - ); - - if (disableAlternateLoginMethodsFlagEnabled) { - await this.removeEmailFromSsoRequiredCacheIfPresent(); - } + await this.removeEmailFromSsoRequiredCacheIfPresent(); } catch (e) { this.logService.error(e); } diff --git a/libs/auth/src/angular/login/login.component.ts b/libs/auth/src/angular/login/login.component.ts index 51379ed213e..0b011b5641f 100644 --- a/libs/auth/src/angular/login/login.component.ts +++ b/libs/auth/src/angular/login/login.component.ts @@ -205,14 +205,9 @@ export class LoginComponent implements OnInit, OnDestroy { await this.loadRememberedEmail(); } - const disableAlternateLoginMethodsFlagEnabled = await this.configService.getFeatureFlag( - FeatureFlag.PM22110_DisableAlternateLoginMethods, - ); - if (disableAlternateLoginMethodsFlagEnabled) { - // This SSO required check should come after email has had a chance to be pre-filled (if it - // was found in query params or was the remembered email) - await this.determineIfSsoRequired(); - } + // This SSO required check should come after email has had a chance to be pre-filled (if it + // was found in query params or was the remembered email) + await this.determineIfSsoRequired(); } private async desktopOnInit(): Promise { diff --git a/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.spec.ts b/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.spec.ts index 86f7be8dfc7..975e065e21e 100644 --- a/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.spec.ts +++ b/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.spec.ts @@ -1,7 +1,6 @@ import { MockProxy, mock } from "jest-mock-extended"; import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction"; -import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { SyncService } from "@bitwarden/common/platform/sync"; import { UserId } from "@bitwarden/common/types/guid"; @@ -58,62 +57,35 @@ describe("DefaultLoginSuccessHandlerService", () => { expect(loginEmailService.clearLoginEmail).toHaveBeenCalled(); }); - describe("when PM22110_DisableAlternateLoginMethods flag is disabled", () => { + it("should get SSO email", async () => { + await service.run(userId); + + expect(ssoLoginService.getSsoEmail).toHaveBeenCalled(); + }); + + describe("given SSO email is not found", () => { beforeEach(() => { - configService.getFeatureFlag.mockResolvedValue(false); + ssoLoginService.getSsoEmail.mockResolvedValue(null); }); - it("should not check SSO requirements", async () => { + it("should log error and return early", async () => { await service.run(userId); - expect(ssoLoginService.getSsoEmail).not.toHaveBeenCalled(); + expect(logService.error).toHaveBeenCalledWith("SSO login email not found."); expect(ssoLoginService.updateSsoRequiredCache).not.toHaveBeenCalled(); }); }); - describe("given PM22110_DisableAlternateLoginMethods flag is enabled", () => { + describe("given SSO email is found", () => { beforeEach(() => { - configService.getFeatureFlag.mockResolvedValue(true); + ssoLoginService.getSsoEmail.mockResolvedValue(testEmail); }); - it("should check feature flag", async () => { + it("should call updateSsoRequiredCache() and clearSsoEmail()", async () => { await service.run(userId); - expect(configService.getFeatureFlag).toHaveBeenCalledWith( - FeatureFlag.PM22110_DisableAlternateLoginMethods, - ); - }); - - it("should get SSO email", async () => { - await service.run(userId); - - expect(ssoLoginService.getSsoEmail).toHaveBeenCalled(); - }); - - describe("given SSO email is not found", () => { - beforeEach(() => { - ssoLoginService.getSsoEmail.mockResolvedValue(null); - }); - - it("should log error and return early", async () => { - await service.run(userId); - - expect(logService.error).toHaveBeenCalledWith("SSO login email not found."); - expect(ssoLoginService.updateSsoRequiredCache).not.toHaveBeenCalled(); - }); - }); - - describe("given SSO email is found", () => { - beforeEach(() => { - ssoLoginService.getSsoEmail.mockResolvedValue(testEmail); - }); - - it("should call updateSsoRequiredCache() and clearSsoEmail()", async () => { - await service.run(userId); - - expect(ssoLoginService.updateSsoRequiredCache).toHaveBeenCalledWith(testEmail, userId); - expect(ssoLoginService.clearSsoEmail).toHaveBeenCalled(); - }); + expect(ssoLoginService.updateSsoRequiredCache).toHaveBeenCalledWith(testEmail, userId); + expect(ssoLoginService.clearSsoEmail).toHaveBeenCalled(); }); }); }); diff --git a/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.ts b/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.ts index 78003a4fca0..27d058c311a 100644 --- a/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.ts +++ b/libs/auth/src/common/services/login-success-handler/default-login-success-handler.service.ts @@ -1,5 +1,4 @@ import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction"; -import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { SyncService } from "@bitwarden/common/platform/sync"; import { UserId } from "@bitwarden/common/types/guid"; @@ -23,20 +22,14 @@ export class DefaultLoginSuccessHandlerService implements LoginSuccessHandlerSer await this.userAsymmetricKeysRegenerationService.regenerateIfNeeded(userId); await this.loginEmailService.clearLoginEmail(); - const disableAlternateLoginMethodsFlagEnabled = await this.configService.getFeatureFlag( - FeatureFlag.PM22110_DisableAlternateLoginMethods, - ); + const ssoLoginEmail = await this.ssoLoginService.getSsoEmail(); - if (disableAlternateLoginMethodsFlagEnabled) { - const ssoLoginEmail = await this.ssoLoginService.getSsoEmail(); - - if (!ssoLoginEmail) { - this.logService.error("SSO login email not found."); - return; - } - - await this.ssoLoginService.updateSsoRequiredCache(ssoLoginEmail, userId); - await this.ssoLoginService.clearSsoEmail(); + if (!ssoLoginEmail) { + this.logService.error("SSO login email not found."); + return; } + + await this.ssoLoginService.updateSsoRequiredCache(ssoLoginEmail, userId); + await this.ssoLoginService.clearSsoEmail(); } } diff --git a/libs/common/src/enums/feature-flag.enum.ts b/libs/common/src/enums/feature-flag.enum.ts index d06a14d242f..17d5f4e9df5 100644 --- a/libs/common/src/enums/feature-flag.enum.ts +++ b/libs/common/src/enums/feature-flag.enum.ts @@ -16,7 +16,6 @@ export enum FeatureFlag { BlockClaimedDomainAccountCreation = "block-claimed-domain-account-creation", /* Auth */ - PM22110_DisableAlternateLoginMethods = "pm-22110-disable-alternate-login-methods", PM23801_PrefetchPasswordPrelogin = "pm-23801-prefetch-password-prelogin", /* Autofill */ @@ -118,7 +117,6 @@ export const DefaultFeatureFlagValue = { [FeatureFlag.VaultLoadingSkeletons]: FALSE, /* Auth */ - [FeatureFlag.PM22110_DisableAlternateLoginMethods]: FALSE, [FeatureFlag.PM23801_PrefetchPasswordPrelogin]: FALSE, /* Billing */