1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-19 17:53:39 +00:00
Commit Graph

170 Commits

Author SHA1 Message Date
rr-bw
bdd6f9f6df handle browser routing and basic browser template 2024-09-09 14:45:55 -07:00
rr-bw
d279ae499d Merge branch 'main' into auth/pm-8111/browser-refresh-login-component 2024-09-07 12:45:18 -07:00
Todd Martin
f0fe397307 Changed temp password reset phrase names to match translations (#10756) 2024-09-06 09:20:41 -04:00
rr-bw
d74561d374 merge main, fix conflicts 2024-09-05 16:53:32 -07:00
Jared Snider
352ab29665 Auth/PM-11635 - Extension Registration Bugfix - Unable to login after account creation issue (#10896)
* 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.
2024-09-05 13:55:30 -04:00
Thomas Rittson
8344623185 [PM-11450] Move organization-user domain to admin-console lib (#10785)
- 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
2024-09-04 18:21:26 -04:00
Todd Martin
86fab07a37 Auth/PM-5099 Ensure consistent casing of email used for fingerprint generation in Auth Requests (#8571)
* Created method for handilng email-address-based fingerprint.

* Added test for new method.

* Added returns to annotation
2024-09-04 10:22:06 -04:00
rr-bw
b27dc44298 [PM-11136] Convert LoginEmailService email property to state provider (#10624)
* convert email property to state provider

* update tests

* assign loginEmail to variable before passing in

* remove nav logic in ngOnInit
2024-09-03 09:40:11 -07:00
rr-bw
48ffd0b5d6 handle submit routing (web) 2024-09-02 09:31:10 -07:00
rr-bw
19acf12900 add handleMigrateEncryptionKey to default and web service 2024-09-02 08:50:38 -07:00
rr-bw
983cee8af6 handle startAuthRequestLogin() 2024-08-31 14:17:09 -07:00
rr-bw
669585a87f merge main 2024-08-30 11:40:21 -07:00
rr-bw
33f66263fa remove unnecessary width class (#10781) 2024-08-28 16:14:05 -07:00
Jordan Aasen
9041a4cd4c [PM-6564] migrate auth toasts to CL toastService (#10665)
* migrate auth toasts to CL toastService

* fix component args

* fix component args

* fix specs

* fix toastService args
2024-08-27 10:33:58 -07:00
Bernd Schoolmann
3c9b3ea2cc [PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (v2) (#10374)
* Create unavailable message for biometrics when in clamshell mode

* Move browser biometrics

* Inject nativemessagingbackground instead of using constructor

* Fix linting

* Fix build on browser
2024-08-27 06:25:20 +00:00
Matt Gibson
9459cda304 Pm-10953/add-user-context-to-sync-replaces (#10627)
* 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>
2024-08-26 20:44:08 -04:00
rr-bw
fcf01fee74 Merge branch 'main' into auth/pm-8111/browser-refresh-login-component 2024-08-26 08:50:15 -07:00
Bernd Schoolmann
86f3a679ae [PM-4530] Fix sso in snap desktop (#10548)
* Add localhost callback service for sso

* Fix redirect behaviour

* Update apps/desktop/src/app/app.component.ts

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>

* Fix incorrect http response for sso callback

* Add sso error

* Update error message

---------

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-08-26 15:13:45 +02:00
rr-bw
2b90cbb3e5 handle loading email settings 2024-08-21 14:54:07 -07:00
rr-bw
2d60073430 Merge branch 'main' into auth/pm-8111/browser-refresh-login-component 2024-08-21 11:15:03 -07:00
Bernd Schoolmann
cfdc52ee84 [PM-9576] Make keypair updating more robust to prevent vault/private-key corruption on set-password component (#10180)
* 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
2024-08-21 11:48:12 +02:00
rr-bw
af9483d480 setup new LoginComponent files in libs/auth 2024-08-20 15:30:15 -07:00
Jared Snider
c5ae908fde PM-10069 - Refactor unauthExtensionRefreshSwap to be available in non-extension clients and rename. (#10518) 2024-08-14 15:15:23 -04:00
Jared Snider
a13e99ebe9 Auth/PM-10601 - Tech Debt Cleanup - Refactor Lock Component and User Verification to use PinService (#10408)
* 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
2024-08-13 15:19:13 -04:00
Todd Martin
7b508b1ad7 [PM-8933] Require userId on setUserKey (#9675)
* 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
2024-08-13 08:07:36 -04:00
Jared Snider
0d829b7398 Auth/PM-3515 - Lock component Tech Debt Clean up (#10332)
* 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
2024-08-12 15:51:57 -04:00
Cesar Gonzalez
d2c4c4cad4 [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs (#10448)
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs

* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
2024-08-08 13:04:28 -05:00
Oscar Hinton
c50a9063bc [PM-2340] Enable use-lifecycle-interface (#5488)
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.
2024-08-02 13:59:38 -04:00
Bernd Schoolmann
cc45655b86 Revert "[PM-6296] Fix biometrics error prompt when biometrics are temporarily…" (#10373)
This reverts commit 1184c504d1.
2024-08-02 07:46:54 -04:00
Bernd Schoolmann
1184c504d1 [PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (#9851)
* Add availability check to biometrics

* Move isbiometricunlockavailable logic to parent component

* Fix availability detection on desktop

* FIx response parsing on browser

* Suppress pending biometric message while checking for availability

* Refactor biometrics functions out of platformutilsservice

* Remove unused constructor

* Remove unused abstract function definitions

* Rename abstract services

* Add documentation

* Rename service abstraction, add comments

* Add comments

* Refactor browser biometrics into background/foreground and remove callbacks

* Remove unused logs

* Remove unused logs
2024-08-02 12:31:11 +02:00
Bernd Schoolmann
c6229abd12 [PM-5963] Fix tde offboarding vault corruption (#9480)
* Fix tde offboarding

* Add tde offboarding password request

* Add event for tde offboarding

* Update libs/auth/src/common/models/domain/user-decryption-options.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Update libs/common/src/services/api.service.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Make tde offboarding take priority

* Update tde offboarding message

* Fix unit tests

* Fix unit tests

* Fix typo

* Fix unit tests

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-08-01 19:48:09 -04:00
Bernd Schoolmann
ad26f0890a [PM-4348] Migrate AuthGuards to functions (#9595)
* Migrate auth guards

* Fix remaining auth guard migration

* Fix unauth guard usage

* Add unit tests for auth guard and unauth guard

* Remove unused angular DI code

* Move auth related logic out fo sm guard

* Add tests

* Add more tests for unauth guard

* Fix incorrect merge
2024-07-25 17:00:29 -04:00
renovate[bot]
b9eb4003a1 [deps] Autofill: Update prettier to v3.3.3 (#10228)
* [deps] Autofill: Update prettier to v3.3.3

* prettier formatting changes

* fix SyntaxError for literal @ inline html

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
2024-07-25 11:11:55 -04:00
rr-bw
9355a9bb43 [PM-7330] Create SetPasswordComponent (email verification) (#9810)
* 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
2024-07-25 07:42:32 -07:00
Bernd Schoolmann
05e8b45edb [PM-7084] 6/6: Introduce shared duo two-factor component (#9772)
* 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>
2024-07-19 16:29:24 +02:00
rr-bw
aa8c5b1516 make minimumLength msg update if mp policy is enforced (#10105) 2024-07-16 09:36:05 -07:00
Bernd Schoolmann
69a37a884f Add shared webauthn component (#9771) 2024-07-16 10:46:37 -04:00
Ike
d2685e1bc5 [PM-9618] Show toast when AuthUrl is null (#10108)
* Added toast message if AuthUrl is null

* added toast to desktop and browser

* fixed tests
2024-07-15 09:04:15 -07:00
Bernd Schoolmann
5a46c7d5cc [PM-7084] 4/6: Introduce shared email two-factor component (#9770)
* Add shared email two-factor component

* Update apps/browser/src/auth/popup/two-factor-auth-email.component.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-07-15 09:59:39 -04:00
Jake Fink
9c66b5bf9f [PM-4917, PM-8707, PM-9119] Persist login email memory through 2fa on browser (#9811)
* persist email memory through 2fa on browser

* fix tests

* fix desktop
2024-07-11 14:51:06 -04:00
Bernd Schoolmann
9eddbfc6e7 [PM-7084]: 3/6 Introduce shared yubikey two-factor component (#9769)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Add yubico yubikey otp shared two-fa component
2024-07-11 10:28:55 -04:00
Bernd Schoolmann
7e2b4d9652 [PM-7084] 2/6: Add shared two-factor-auth orchestrator component, and TOTP two-factor component (#9768)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Fix default value for twofactorcomponentrefactor featureflag
2024-07-09 16:19:04 +02:00
Jared Snider
226af09aac Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password

* PM-7321 - update input password based on latest PR changes to test.

* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks

* PM-7321 - more progress on registration finish.

* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.

* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.

* PM-7321 - WIP registratin finish

* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling

* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service

* PM-7321 - Get CLI building

* PM-7321 - Move all finish registration service and content to registration-finish feature folder.

* PM-7321 - Fix RegistrationFinishService config

* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP

* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)

* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.

* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey

* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.

* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.

* PM-7321 - Registration Finish - use validation service for error handling.

* PM-7321 - All register routes must be dynamic and change if the feature flag changes.

* PM-7321 - Test registration finish services.

* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.

* PM-7321 - Add missing input password translations to browser & desktop

* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
2024-07-08 10:40:23 -04:00
Bernd Schoolmann
d92e1b3eca Add shared two-factor-options component (#9767) 2024-07-08 11:19:30 +02:00
Jake Fink
052b3be2eb [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service

* enforce boolean and fix desktop account switcher order
2024-07-03 09:53:40 -04:00
vinith-kovan
432a4ddd17 Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa

* Bug fix - Yubikey code obscured

* 2FA error fix
2024-07-01 09:03:51 -07:00
Bernd Schoolmann
c01f6be286 [PM-1802] Update 2fa provider icons and description (#9568)
* Update yubikey to yubico

* Update icons and descriptions

* Change order of 2fa providers

* Refactor 2fa providers into separate component

* Update i18n messages for 2fa providers

* Update design

* Fix link

* Remove unused SVGs

* Undo changes to scss

* Add speedbumps to links

* Fix missing i18n string

* Add a11y tags

* Fix incorrect filepath

* Remove unused i18n strings

* Delete accidentally committed file

* Fix premium and enabled checkmark being in new line

* Rename two-factor-icon selector

* Update authenticator names in two-factor-authenticator setup component

* Update text according to figma design

* Update keys to notify crowdin translators of changed content

* Move svg icons to separate file

* Fix incorrect i18n key
2024-06-27 10:14:21 -07:00
✨ Audrey ✨
1080d46aaf [PM-9170] generator library migrations (#9812)
* migrate browser to generator libraries
* migrate cli to generator libraries
* migrate desktop to generator libraries
* migrate angular library to generator libraries
* migrate web to generator libraries
2024-06-27 12:16:04 -04:00
Ike
41e1d91558 [PM-5156] [PM-5216] Duo v2 removal (#9513)
* remove library and update package and webpack

* update 2fa flow and remove feature flag

* update request and response models

* fix merge conflicts
2024-06-25 11:09:45 -07:00
Jake Fink
0add2949c0 [PM-8772] move ranges to static properties on class (#9567)
* move ranges to static properties on class

* rename static properties
2024-06-25 08:21:02 -04:00