mirror of
https://github.com/bitwarden/clients.git
synced 2026-02-09 10:23:47 +08:00
* feat(change-password-component): Change Password Update [18720] - Very close to complete. * fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Removed temp code to force the state I need to verify correctness. * fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Recover account working with change password component. * fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Made code more dry. * fix(change-password-component): Change Password Update [18720] - Updates to routing and the extension. Extension is still a wip. * fix(change-password-component): Change Password Update [18720] - Extension routing changes. * feat(change-password-component): Change Password Update [18720] - More extension work * feat(change-password-component): Change Password Update [18720] - Pausing work for now while we wait for product to hear back. * feat(change-password-component): Change Password Update [18720] - Removed duplicated anon layouts. * feat(change-password-component): Change Password Update [18720] - Tidied up code. * feat(change-password-component): Change Password Update [18720] - Small fixes to the styling * feat(change-password-component): Change Password Update [18720] - Adding more content for the routing. * feat(change-password-component): Change Password Update [18720] - Removed circular loop for now. * feat(change-password-component): Change Password Update [18720] - Made comments regarding the change password routing complexities with change-password and auth guard. * feat(change-password-component): Change Password Update [18720] - Undid some changes because they will be conflicts later on. * feat(change-password-component): Change Password Update [18720] - Small directive change. * feat(change-password-component): Change Password Update [18720] - Small changes and added some clarification on where I'm blocked * feat(change-password-component): Change Password Update [18720] - Org invite is seemingly working, found one bug to iron out. * refactor(change-password-component): Change Password Update [18720] - Fixed up policy service to be made more clear. * docs(change-password-component): Change Password Update [18720] - Updated documentation. * refactor(change-password-component): Change Password Update [18720] - Routing changes and policy service changes. * fix(change-password-component): Change Password Update [18720] - Wrapping up changes. * feat(change-password-component): Change Password Update [18720] - Should be working fully * feat(change-password-component): Change Password Update [18720] - Found a bug, working on password policy being present on login. * feat(change-password-component): Change Password Update [18720] - Turned on auth guard on other clients for change-password route. * feat(change-password-component): Change Password Update [18720] - Committing intermediate changes. * feat(change-password-component): Change Password Update [18720] - The master password policy endpoint has been added! Should be working. Testing now. * feat(change-password-component): Change Password Update [18720] - Minor fixes. * feat(change-password-component): Change Password Update [18720] - Undid naming change. * feat(change-password-component): Change Password Update [18720] - Removed comment. * feat(change-password-component): Change Password Update [18720] - Removed unneeded code. * fix(change-password-component): Change Password Update [18720] - Took org invite state out of service and made it accessible. * fix(change-password-component): Change Password Update [18720] - Small changes. * fix(change-password-component): Change Password Update [18720] - Split up org invite service into client specific implementations and have them injected into clients properly * feat(change-password-component): Change Password Update [18720] - Stopping work and going to switch to a new branch to pare down some of the solutions that were made to get this over the finish line * feat(change-password-component): Change Password Update [18720] - Started to remove functionality in the login.component and the password login strategy. * feat(change-password-component): Change Password Update [18720] - Removed more unneded changes. * feat(change-password-component): Change Password Update [18720] - Change password clearing state working properly. * fix(change-password-component): Change Password Update [18720] - Added docs and moved web implementation. * comments(change-password-component): Change Password Update [18720] - Added more notes. * test(change-password-component): Change Password Update [18720] - Added in tests for policy service. * comment(change-password-component): Change Password Update [18720] - Updated doc with correct ticket number. * comment(change-password-component): Change Password Update [18720] - Fixed doc. * test(change-password-component): Change Password Update [18720] - Fixed tests. * test(change-password-component): Change Password Update [18720] - Fixed linting errors. Have more tests to fix. * test(change-password-component): Change Password Update [18720] - Added back in ignore for typesafety. * fix(change-password-component): Change Password Update [18720] - Fixed other type issues. * test(change-password-component): Change Password Update [18720] - Fixed tests. * test(change-password-component): Change Password Update [18720] - Fixed more tests. * test(change-password-component): Change Password Update [18720] - Fixed tiny duplicate code. * fix(change-password-component): Change Password Update [18720] - Fixed desktop component. * fix(change-password-component): Change Password Update [18720] - Removed unused code * fix(change-password-component): Change Password Update [18720] - Fixed locales. * fix(change-password-component): Change Password Update [18720] - Removed tracing. * fix(change-password-component): Change Password Update [18720] - Removed duplicative services module entry. * fix(change-password-component): Change Password Update [18720] - Added comment. * fix(change-password-component): Change Password Update [18720] - Fixed unneeded call in two factor to get user id. * fix(change-password-component): Change Password Update [18720] - Fixed a couple of tiny things. * fix(change-password-component): Change Password Update [18720] - Added comment for later fix. * fix(change-password-component): Change Password Update [18720] - Fixed linting error. * PM-18720 - AuthGuard - move call to get isChangePasswordFlagOn down after other conditions for efficiency. * PM-18720 - PasswordLoginStrategy tests - test new feature flagged combine org invite policies logic for weak password evaluation. * PM-18720 - CLI - fix dep issue * PM-18720 - ChangePasswordComp - extract change password warning up out of input password component * PM-18720 - InputPassword - remove unused dependency. * PM-18720 - ChangePasswordComp - add callout dep * PM-18720 - Revert all anon-layout changes * PM-18720 - Anon Layout - finish reverting changes. * PM-18720 - WIP move of change password out of libs/auth * PM-18720 - Clean up remaining imports from moving change password out of libs/auth * PM-18720 - Add change-password barrel file for better import grouping * PM-18720 - Change Password comp - restore maxWidth * PM-18720 - After merge, fix errors * PM-18720 - Desktop - fix api service import * PM-18720 - NDV - fix routing. * PM-18720 - Change Password Comp - add logout service todo * PM-18720 - PasswordSettings - per feedback, component is already feature flagged behind PM16117_ChangeExistingPasswordRefactor so we can just delete the replaced callout (new text is in change-password comp) * PM-18720 - Routing Modules - properly flag new component behind feature flag. * PM-18720 - SSO Login Strategy - fix config service import since it is now in shared deps from main merge. * PM-18720 - Fix SSO login strategy tests * PM-18720 - Default Policy Service - address AC PR feedback --------- Co-authored-by: Jared Snider <jsnider@bitwarden.com> Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
170 lines
4.8 KiB
HTML
170 lines
4.8 KiB
HTML
<form [formGroup]="formGroup" [bitSubmit]="submit">
|
|
<auth-password-callout
|
|
*ngIf="masterPasswordPolicyOptions"
|
|
[message]="
|
|
flow === InputPasswordFlow.ChangePasswordDelegation
|
|
? 'changePasswordDelegationMasterPasswordPolicyInEffect'
|
|
: 'masterPasswordPolicyInEffect'
|
|
"
|
|
[policy]="masterPasswordPolicyOptions"
|
|
></auth-password-callout>
|
|
|
|
<bit-form-field
|
|
*ngIf="
|
|
flow === InputPasswordFlow.ChangePassword ||
|
|
flow === InputPasswordFlow.ChangePasswordWithOptionalUserKeyRotation
|
|
"
|
|
>
|
|
<bit-label>{{ "currentMasterPass" | i18n }}</bit-label>
|
|
<input
|
|
id="input-password-form_current-password"
|
|
bitInput
|
|
type="password"
|
|
formControlName="currentPassword"
|
|
/>
|
|
<button
|
|
type="button"
|
|
bitIconButton
|
|
bitSuffix
|
|
bitPasswordInputToggle
|
|
[(toggled)]="showPassword"
|
|
></button>
|
|
</bit-form-field>
|
|
|
|
<div class="tw-mb-6">
|
|
<bit-form-field [disableMargin]="true">
|
|
<bit-label>{{ "newMasterPass" | i18n }}</bit-label>
|
|
<input
|
|
id="input-password-form_new-password"
|
|
bitInput
|
|
type="password"
|
|
formControlName="newPassword"
|
|
/>
|
|
<button
|
|
*ngIf="flow === InputPasswordFlow.ChangePasswordDelegation"
|
|
type="button"
|
|
bitIconButton="bwi-generate"
|
|
bitSuffix
|
|
[appA11yTitle]="'generatePassword' | i18n"
|
|
(click)="generatePassword()"
|
|
></button>
|
|
<button
|
|
*ngIf="flow === InputPasswordFlow.ChangePasswordDelegation"
|
|
type="button"
|
|
bitSuffix
|
|
bitIconButton="bwi-clone"
|
|
appA11yTitle="{{ 'copyPassword' | i18n }}"
|
|
(click)="copy()"
|
|
></button>
|
|
<button
|
|
type="button"
|
|
bitIconButton
|
|
bitSuffix
|
|
bitPasswordInputToggle
|
|
[(toggled)]="showPassword"
|
|
></button>
|
|
<bit-hint *ngIf="flow !== InputPasswordFlow.ChangePasswordDelegation">
|
|
<span class="tw-font-bold">{{ "important" | i18n }} </span>
|
|
{{ "masterPassImportant" | i18n }}
|
|
{{ minPasswordLengthMsg }}.
|
|
</bit-hint>
|
|
</bit-form-field>
|
|
|
|
<tools-password-strength
|
|
[showText]="true"
|
|
[email]="email"
|
|
[password]="formGroup.controls.newPassword.value"
|
|
(passwordStrengthScore)="getPasswordStrengthScore($event)"
|
|
></tools-password-strength>
|
|
</div>
|
|
|
|
<bit-form-field>
|
|
<bit-label>{{ "confirmNewMasterPass" | i18n }}</bit-label>
|
|
<input
|
|
id="input-password-form_new-password-confirm"
|
|
bitInput
|
|
type="password"
|
|
formControlName="newPasswordConfirm"
|
|
/>
|
|
<button
|
|
type="button"
|
|
bitIconButton
|
|
bitSuffix
|
|
bitPasswordInputToggle
|
|
[(toggled)]="showPassword"
|
|
></button>
|
|
</bit-form-field>
|
|
|
|
<ng-container *ngIf="flow !== InputPasswordFlow.ChangePasswordDelegation">
|
|
<bit-form-field>
|
|
<bit-label>{{ "masterPassHintLabel" | i18n }}</bit-label>
|
|
<input
|
|
id="input-password-form_new-password-hint"
|
|
bitInput
|
|
formControlName="newPasswordHint"
|
|
/>
|
|
<bit-hint>
|
|
{{
|
|
"masterPassHintText"
|
|
| i18n: formGroup.value.newPasswordHint.length.toString() : maxHintLength.toString()
|
|
}}
|
|
</bit-hint>
|
|
</bit-form-field>
|
|
|
|
<bit-form-control>
|
|
<input
|
|
id="input-password-form_check-for-breaches"
|
|
type="checkbox"
|
|
bitCheckbox
|
|
formControlName="checkForBreaches"
|
|
/>
|
|
<bit-label>{{ "checkForBreaches" | i18n }}</bit-label>
|
|
</bit-form-control>
|
|
</ng-container>
|
|
|
|
<bit-form-control *ngIf="flow === InputPasswordFlow.ChangePasswordWithOptionalUserKeyRotation">
|
|
<input
|
|
id="input-password-form_rotate-user-key"
|
|
type="checkbox"
|
|
bitCheckbox
|
|
formControlName="rotateUserKey"
|
|
(change)="rotateUserKeyClicked()"
|
|
/>
|
|
<bit-label>
|
|
{{ "rotateAccountEncKey" | i18n }}
|
|
<a
|
|
href="https://bitwarden.com/help/account-encryption-key/#rotate-your-encryption-key"
|
|
target="_blank"
|
|
rel="noreferrer"
|
|
appA11yTitle="{{ 'impactOfRotatingYourEncryptionKey' | i18n }}"
|
|
>
|
|
<i class="bwi bwi-question-circle" aria-hidden="true"></i>
|
|
</a>
|
|
</bit-label>
|
|
</bit-form-control>
|
|
|
|
<div
|
|
*ngIf="flow !== InputPasswordFlow.ChangePasswordDelegation"
|
|
class="tw-flex tw-gap-2"
|
|
[ngClass]="inlineButtons ? 'tw-flex-row' : 'tw-flex-col'"
|
|
>
|
|
<button type="submit" bitButton bitFormButton buttonType="primary" [loading]="loading">
|
|
{{ primaryButtonTextStr || ("setMasterPassword" | i18n) }}
|
|
</button>
|
|
|
|
<button
|
|
*ngIf="secondaryButtonText"
|
|
type="button"
|
|
bitButton
|
|
bitFormButton
|
|
buttonType="secondary"
|
|
[loading]="loading"
|
|
(click)="onSecondaryButtonClick.emit()"
|
|
>
|
|
{{ secondaryButtonTextStr }}
|
|
</button>
|
|
</div>
|
|
|
|
<bit-error-summary *ngIf="showErrorSummary" [formGroup]="formGroup"></bit-error-summary>
|
|
</form>
|