* PM-11635 - Refactor Base Login Component NgOnInit to properly connect the loading of email settings from state to the processing of query params. If an email is not passed via query params (like registration / normal login), then we will try to load the email from state.
* PM-11635 - Extension login component - call parent ngOnInit as it is responsible for processing / setting email from either query params or state. The addition of the child ngOnInit prevented the parent component ngOnInit from executing.
- move organization-user files from libs/common/src/admin-console into libs/admin-console/src/common
- add barrel files and update imports to use barrel files
- rename OrganizationUserService to OrganizationUserApiService
- rename OrganizationUserServiceImplementation to DefaultOrganizationUserApiService
* use shared expiration year normalization util function
* use shared exp year normalization in web and desktop client
* handle cases where input has leading zeroes
* add utils tests
* handle cases where input is all zeroes
* (No Logic) Fix typo in billing-api-service.abstraction file name
* (Cleanup) Remove payment method components and API methods from provider portal
Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.
* Add organization endpoints to support new payment method behavior
* Add payment-v2.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* (No Logic) Move existing payment.component into new payment component folder
* Add verify-bank-account.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* Add adjust-payment-dialog-v2.component
* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder
* Add organization-payment-method.component
* Add feature flag: AC-2476-deprecate-stripe-sources-api
* Pivot organization payment method route on new feature flag
* Fix broken test
* Create unavailable message for biometrics when in clamshell mode
* Move browser biometrics
* Inject nativemessagingbackground instead of using constructor
* Fix linting
* Fix build on browser
* Require userId for setting masterKeyEncryptedUserKey
* Replace folders for specified user
* Require userId for collection replace
* Cipher Replace requires userId
* Require UserId to update equivalent domains
* Require userId for policy replace
* sync state updates between fake state for better testing
* Revert to public observable tests
Since they now sync, we can test single-user updates impacting active user observables
* Do not init fake states through sync
Do not sync initial null values, that might wipe out already existing data.
* Require userId for Send replace
* Include userId for organization replace
* Require userId for billing sync data
* Require user Id for key connector sync data
* Allow decode of token by userId
* Require userId for synced key connector updates
* Add userId to policy setting during organization invite accept
* Fix cli
* Handle null userId
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* Make keypair setting more robust to prevent vault corruption on set-password component
* Use non-deprecated way to get private key
* Fix build error due to missing service
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id
* Added account service mock
* fixed cipher test
* Fixed test
* removed async from encryptCipher
* updated encryptSharedCipher to pass userId to the encrypt function
* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher
* pass in userid when setting masterKeyEncryptedUserKey
* Added activer usedId to new web refresh function
* add new premium component
* finish new premium component
* revert change to config service
* hide copy changes behind feature flag
* revert keys back to original
* remove stateService and translation key
* add missing translation key
* add missing key
* PM-10601 - PinSvc new unlock check first draft
* PM-10601 - PinSvc - add new method for determining if pin decryption is available.
* PM-10601 - Add more docs on PinSvc
* PM-10601 - Update Lock Comp & User Verification service + tests to use new isPinDecryptionAvailable method
* Updated all sets of user key to pass in userId
* Added userId on auth request login.
* Fixed tests.
* Fixed tests to pass in UserId
* Added parameter to tests.
* Addressed PR feedback.
* Merged main
* PM-3515 - Lock component - remove isUnlocked check on lock comp load b/c lock guard should cover all cases with its existing logic for all clients.
* PM-3515 - VaultTimeoutSettingsSvc - Add new canLock method
* PM-3515 - Refactor logic out of lock component that belongs in lock guard. Update lock guard to reject route activation if a user can't lock whereas we used to log the user out when they landed on the lock comp.
* PM-3515 - WIP on testing all lock guard scenarios
* PM-3515 - Refactor lock guard tests + add more tests
* PM-3515 - LockGuard - if TDE user that is authN directly navigates from login-init to lock for whatever reason (only possible on web with url bar), reject that navigation directly instead of throwing them up to the redirect guard
* PM-3515 - More LockGuard tests
* PM-3515 - Update comment
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
* [PM-8524] Update appA11yTitle to keep attributes in sync after first render
* [PM-8524] Introduce UriOptionComponent
* [PM-9190] Introduce AutofillOptionsComponent
* [PM-9190] Add AutofillOptions to LoginDetailsSection
* [PM-9190] Add autofill options component unit tests
* [PM-9190] Add UriOptionComponent unit tests
* [PM-9190] Add missing translations
* [PM-9190] Add autofill on page load field
* [PM-9190] Ensure updatedCipherView is completely separate from originalCipherView
* [CL-348] Do not override items if there are no OptionComponents available
* [PM-9190] Mock AutoFillOptions component in Login Details tests
* [PM-9190] Cleanup storybook and missing web translations
* [PM-9190] Ensure storybook decryptCipher returns a separate object
* add option to pass toast variant into copy-click directive
* refactor copy toast to use success variant
* add tests for copy-click directive
* swap `success` to be the default toast variant
* PM-9603 - WIP - Untested DefaultAnonLayoutWrapperDataService
* PM-9603 - DefaultAnonLayoutWrapperSvc needs constructor
* PM-9603 - Good progress on getting storybook setup for the anon-layout-wrapper component - having issues with getting dummy component to display.
* PM-9603 - AnonLayoutWrapper Story working with default and dynamic content.
* PM-9603 - Tweak verbiage
* PM-9603 - Tweak stories; add mdx
* PM-9603 - Export AnonLayoutWrapperDataService and DefaultAnonLayoutWrapperDataService from libs/auth and wire up as default implementation in jslib-services.module
* PM-9603 - Address PR feedback
* setup SetPassword component
* accept query params
* add InputPasswordComponent to template
* add route
* add dynamic translation with org name
* feature flag route
* setup onInit
* add set password logic
* move to libs
* remove comments
* update AuthGuard routing
* use ToastService
* replace deprecated methods
* replace orgId input with policy input
* use getter for msg instead of ngOnInit
* cleanup
* refactor to use services
* more refactoring of service
* address browser routing and translations
* add desktop service
* simplify queryParam handler
* remove ngOnDestroy
* small edits
* use inject()
* add jsdocs
* create basic tests
* add success toasts on successfuly set password
* add tests
* update feature-flag
* move model to service
* refactor client services to override setPassword()
* add error handling to setPassword()
* move auto enroll logic to service
* update tests
* fix test
* adjust padding on password-callout list
* revert refactor of auto enroll logic
* refactor keyPair generation to own method
* update page title and button text
* update pageSubtitle and translations
* fix test
* alert server if device trust is lost
* add test
* add tests for extra errors
* fix build
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* Add shared duo component
* Fix duo import
* Fix wrong i18n service DI in duo desktop component
* Remove duo v2
* Add override to functions
* Remove web duo implementation
* Update apps/browser/src/auth/popup/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Update apps/desktop/src/auth/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Update libs/angular/src/auth/components/two-factor-auth/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Fix missing service on duo components
* Fix missing service on base duo auth component
* Fix constructor super calls in duo auth component
* Fix duo auth components incorrectly extending base class
---------
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>