1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00

[PM-27766] Add policy for blocking account creation from claimed domains (#17211)

* Added policy for blocking account creation for claimed domains.

* add feature flag

* fix desc

* learn more link

* fix localization key to learnMore

* onpush change detection
This commit is contained in:
Kyle Spearrin
2025-11-20 09:42:57 -05:00
committed by GitHub
parent b00987180d
commit d7949ab2f3
7 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<bit-callout type="info" title="{{ 'prerequisite' | i18n }}">
{{ "blockClaimedDomainAccountCreationPrerequisite" | i18n }}
<a
bitLink
href="https://bitwarden.com/help/domain-verification/"
target="_blank"
rel="noreferrer"
>{{ "learnMore" | i18n }}</a
>
</bit-callout>
<bit-form-control>
<input type="checkbox" id="enabled" bitCheckbox [formControl]="enabled" />
<bit-label>{{ "turnOn" | i18n }}</bit-label>
</bit-form-control>

View File

@@ -0,0 +1,32 @@
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { map, Observable } from "rxjs";
import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import {
BasePolicyEditDefinition,
BasePolicyEditComponent,
} from "@bitwarden/web-vault/app/admin-console/organizations/policies";
import { SharedModule } from "@bitwarden/web-vault/app/shared";
export class BlockClaimedDomainAccountCreationPolicy extends BasePolicyEditDefinition {
name = "blockClaimedDomainAccountCreation";
description = "blockClaimedDomainAccountCreationDesc";
type = PolicyType.BlockClaimedDomainAccountCreation;
component = BlockClaimedDomainAccountCreationPolicyComponent;
override display$(organization: Organization, configService: ConfigService): Observable<boolean> {
return configService
.getFeatureFlag$(FeatureFlag.BlockClaimedDomainAccountCreation)
.pipe(map((enabled) => enabled && organization.useOrganizationDomains));
}
}
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: "block-claimed-domain-account-creation.component.html",
imports: [SharedModule],
})
export class BlockClaimedDomainAccountCreationPolicyComponent extends BasePolicyEditComponent {}

View File

@@ -1,3 +1,4 @@
export { ActivateAutofillPolicy } from "./activate-autofill.component";
export { AutomaticAppLoginPolicy } from "./automatic-app-login.component";
export { BlockClaimedDomainAccountCreationPolicy } from "./block-claimed-domain-account-creation.component";
export { DisablePersonalVaultExportPolicy } from "./disable-personal-vault-export.component";

View File

@@ -9,6 +9,7 @@ import { SessionTimeoutPolicy } from "../../key-management/policies/session-time
import {
ActivateAutofillPolicy,
AutomaticAppLoginPolicy,
BlockClaimedDomainAccountCreationPolicy,
DisablePersonalVaultExportPolicy,
} from "./policy-edit-definitions";
@@ -23,6 +24,7 @@ const policyEditRegister: BasePolicyEditDefinition[] = [
new FreeFamiliesSponsorshipPolicy(),
new ActivateAutofillPolicy(),
new AutomaticAppLoginPolicy(),
new BlockClaimedDomainAccountCreationPolicy(),
];
export const bitPolicyEditRegister = ossPolicyEditRegister.concat(policyEditRegister);