feat(NewDeviceVerification) :
* Created database migration scripts for VerifyDevices column in [dbo].[User].
* Updated DeviceValidator to check if user has opted out of device verification.
* Added endpoint to AccountsController.cs to allow editing of new User.VerifyDevices property.
* Added tests for new methods and endpoint.
* Updating queries to track [dbo].[User].[VerifyDevices].
* Updated DeviceValidator to set `User.EmailVerified` property during the New Device Verification flow.
* Manually move finalization migrations
* Rename the migrations to adhere to current EDD process
* Updated future migration for dropping UnknownDeviceVerificationEnabled column on User
* Moving src/Sql/dbo_future to src/Sql/dbo
* Delete files asking to be deleted
* Fix tab
* Updated migration for User tables update store procedures
* Fix formatting
* Fix User.sql table end comma
* Remove the future scripts that were added back in as finalization scripts by https://github.com/bitwarden/server/pull/3192/files
---------
Co-authored-by: Federico Maccaroni <fedemkr@gmail.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* add timestamps to user table for security related events
* ef migrations
* fix lint problems
* formatting
* add missing namespace back
* move `now` up some
* review fixes
* add missing view rebuild to migration script
* Add KdfMemory and KDFParallelism fields
* Revise argon2 support
This pull request makes the new attribues for argon2, kdfMemory and
kdfParallelism optional. Furthermore it adds checks for the argon2
parametrs and improves the database migration script.
* Add validation for argon2 in RegisterRequestModel
* update validation messages
* update sql scripts
* register data protection with migration factories
* add ef migrations
* update kdf option validation
* adjust validation
* Centralize and Test KDF Validation
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Added UnknownDeviceVerificationEnabled on User that is turned off when emergency contact takes over the account. Also added endpoints to get and update 2fa device verification settings. And Updated migrations & tests
* Applied dotnet format
* Fixed method rename call on TwoFactorController
* PS-589 Format fixes
* PS-589 changed UnknownDeviceVerificationEnabled to be non-nullable
* added column ApiKey to dbo.User
* added dbo.User.ApiKey to User_Update
* added dbo.User.ApiKey to User_Create
* wrote migration script for implementing dbo.User.ApiKey
* Added ApiKey prop to the User table model
* Created AccountsController method for getting a user's API Key
* Created AccountsController method for rotating a user API key
* Added support to ApiClient for passed-through ClientSecrets when the request comes from the cli
* Added a new conditional to ClientStore to account for user API keys
* Wrote unit tests for new user API Key methods
* Added a refresh of dbo.UserView to new migration script for ApiKey
* Let client_credentials grants into the custom token logic
* Cleanup for ApiKey auth in the CLI feature
* Created user API key on registration
* Removed uneeded code for user API keys
* Changed a .Contains() to a .StartsWith() in ClientStore
* Changed index that an array is searched on
* Added more claims to the user apikey clients
* Moved some claim finding logic to a helper method