1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-22 03:03:43 +00:00

[AC-2928] Create automatic app login policy (#10295)

* Create automatic app login policy

* update copy

* update copy

* [PM-10155] Automatic Login After Autofill (#10297)

---------

Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
This commit is contained in:
Kyle Spearrin
2024-08-14 10:38:33 -04:00
committed by GitHub
parent 8274ea783c
commit 5547b953ad
29 changed files with 2027 additions and 41 deletions

View File

@@ -0,0 +1,14 @@
<bit-form-control>
<input type="checkbox" id="enabled" bitCheckbox [formControl]="enabled" />
<bit-label>{{ "turnOn" | i18n }}</bit-label>
</bit-form-control>
<div [formGroup]="data">
<div class="tw-grid tw-grid-cols-12 tw-gap-4">
<bit-form-field class="tw-col-span-12 !tw-mb-0">
<bit-label>{{ "automaticAppLoginIdpHostLabel" | i18n }}</bit-label>
<input bitInput type="text" min="0" formControlName="idpHost" />
<bit-hint>{{ "automaticAppLoginIdpHostDesc" | i18n }}</bit-hint>
</bit-form-field>
</div>
</div>

View File

@@ -0,0 +1,29 @@
import { Component } from "@angular/core";
import { FormBuilder, FormControl } from "@angular/forms";
import { PolicyType } from "@bitwarden/common/admin-console/enums";
import {
BasePolicy,
BasePolicyComponent,
} from "@bitwarden/web-vault/app/admin-console/organizations/policies/base-policy.component";
export class AutomaticAppLoginPolicy extends BasePolicy {
name = "automaticAppLogin";
description = "automaticAppLoginDesc";
type = PolicyType.AutomaticAppLogIn;
component = AutomaticAppLoginPolicyComponent;
}
@Component({
selector: "policy-automatic-app-login",
templateUrl: "automatic-app-login.component.html",
})
export class AutomaticAppLoginPolicyComponent extends BasePolicyComponent {
data = this.formBuilder.group({
idpHost: new FormControl<string>(null),
});
constructor(private formBuilder: FormBuilder) {
super();
}
}

View File

@@ -1,8 +1,10 @@
import { Component, OnInit } from "@angular/core";
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
import { AppComponent as BaseAppComponent } from "@bitwarden/web-vault/app/app.component";
import { ActivateAutofillPolicy } from "./admin-console/policies/activate-autofill.component";
import { AutomaticAppLoginPolicy } from "./admin-console/policies/automatic-app-login.component";
import { DisablePersonalVaultExportPolicy } from "./admin-console/policies/disable-personal-vault-export.component";
import { MaximumVaultTimeoutPolicy } from "./admin-console/policies/maximum-vault-timeout.component";
@@ -19,5 +21,14 @@ export class AppComponent extends BaseAppComponent implements OnInit {
new DisablePersonalVaultExportPolicy(),
new ActivateAutofillPolicy(),
]);
this.configService.getFeatureFlag(FeatureFlag.IdpAutoSubmitLogin).then((enabled) => {
if (
enabled &&
!this.policyListService.getPolicies().some((p) => p instanceof AutomaticAppLoginPolicy)
) {
this.policyListService.addPolicies([new AutomaticAppLoginPolicy()]);
}
});
}
}

View File

@@ -14,6 +14,7 @@ import { WildcardRoutingModule } from "@bitwarden/web-vault/app/wildcard-routing
import { OrganizationsModule } from "./admin-console/organizations/organizations.module";
import { ActivateAutofillPolicyComponent } from "./admin-console/policies/activate-autofill.component";
import { AutomaticAppLoginPolicyComponent } from "./admin-console/policies/automatic-app-login.component";
import { DisablePersonalVaultExportPolicyComponent } from "./admin-console/policies/disable-personal-vault-export.component";
import { MaximumVaultTimeoutPolicyComponent } from "./admin-console/policies/maximum-vault-timeout.component";
import { AppRoutingModule } from "./app-routing.module";
@@ -47,6 +48,7 @@ import { AppComponent } from "./app.component";
DisablePersonalVaultExportPolicyComponent,
MaximumVaultTimeoutPolicyComponent,
ActivateAutofillPolicyComponent,
AutomaticAppLoginPolicyComponent,
],
bootstrap: [AppComponent],
})