1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-26 23:32:19 -05:00

2640 Commits

Author SHA1 Message Date
Brant DeBow
8d2502d8e6
Merge branch 'main' into brant/PM-17562-feature-flag-for-event-integrations 2025-04-25 14:50:21 -04:00
SmithThe4th
9a7fddd77c
Removed feature flag (#5707) 2025-04-25 10:15:26 -07:00
Brant DeBow
02d7692ae1
[PM-17562] Use EventBasedOrganizationIntegrations feature flag to turn on/off event queue 2025-04-25 08:14:20 -04:00
renovate[bot]
0434191bca
[deps] Tools: Update aws-sdk-net monorepo (#5704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 05:47:21 +02:00
Conner Turnbull
8a2012bb83
[PM-17777] sponsorships consume seats (#5694)
* Admin initiated sponsorships now use seats similarly to inviting an organization user

* Updated f4e endpoint to not expect a user ID, and instead just send a boolean

* Fixed failing tests

* Updated OrganizationUserReadOccupiedSeatCountByOrganizationIdQuery to ensure both left and right sides are selecting the same columns
2025-04-24 10:53:34 -04:00
Brant DeBow
db9b047fb0
Added EventBasedOrganizationIntegrations feature flag; Added enforcement of flag at the API layer 2025-04-24 08:25:01 -04:00
Brant DeBow
90d831d9ef
[PM-17562] API For Organization Integrations/Configurations, Refactored Distributed Events, Slack Integration (#5654)
* [PM-17562] Slack Event Investigation

* Refactored Slack and Webhook integrations to pull configurations dynamically from a new Repository

* Added new TemplateProcessor and added/updated unit tests

* SlackService improvements, testing, integration configurations

* Refactor SlackService to use a dedicated model to parse responses

* Refactored SlackOAuthController to use SlackService as an injected dependency; added tests for SlackService

* Remove unnecessary methods from the IOrganizationIntegrationConfigurationRepository

* Moved Slack OAuth to take into account the Organization it's being stored for. Added methods to store the top level integration for Slack

* Organization integrations and configuration database schemas

* Format EF files

* Initial buildout of basic repositories

* [PM-17562] Add Dapper Repositories For Organization Integrations and Configurations

* Update Slack and Webhook handlers to use new Repositories

* Update SlackOAuth tests to new signatures

* Added EF Repositories

* Update handlers to use latest repositories

* [PM-17562] Add Dapper and EF Repositories For Ogranization Integrations and Configurations

* Updated with changes from PR comments

* Adjusted Handlers to new repository method names; updated tests to naming convention

* Adjust URL structure; add delete for Slack, add tests

* Added Webhook Integration Controller

* Add tests for WebhookIntegrationController

* Added Create/Delete for  OrganizationIntegrationConfigurations

* Prepend ConnectionTypes into IntegrationType so we don't run into issues later

* Added Update to OrganizationIntegrationConfigurtionController

* Moved Webhook-specific integration code to being a generic controller for everything but Slack

* Removed delete from SlackController - Deletes should happen through the normal Integration controller

* Fixed SlackController, reworked OIC Controller to use ids from URL and update the returned object

* Added parse/type checking for integration and integration configuration JSONs, Cleaned up GlobalSettings to remove old values

* Cleanup and fixes for Azure Service Bus support

* Clean up naming on TemplateProcessorTests

* Address SonarQube warnings/suggestions

* Expanded test coverage; Cleaned up tests

* Respond to PR Feedback

* Rename TemplateProcessor to IntegrationTemplateProcessor

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2025-04-23 10:44:43 -04:00
Rui Tomé
722fae81b3
[PM-18237] Add RequireSsoPolicyRequirement (#5655)
* Add RequireSsoPolicyRequirement and its factory to enforce SSO policies

* Enhance WebAuthnController to support RequireSsoPolicyRequirement with feature flag integration. Update tests to validate behavior when SSO policies are applicable.

* Integrate IPolicyRequirementQuery into request validators to support RequireSsoPolicyRequirement. Update validation logic to check SSO policies based on feature flag.

* Refactor RequireSsoPolicyRequirementFactoryTests to improve test coverage for SSO policies. Add tests for handling both valid and invalid policies in CanUsePasskeyLogin and SsoRequired methods.

* Remove ExemptStatuses property from RequireSsoPolicyRequirementFactory to use default values from BasePolicyRequirementFactory

* Restore ValidateRequireSsoPolicyDisabledOrNotApplicable

* Refactor RequireSsoPolicyRequirement to update CanUsePasskeyLogin and SsoRequired properties to use init-only setters

* Refactor RequireSsoPolicyRequirementFactoryTests to enhance test clarity

* Refactor BaseRequestValidatorTests to improve test clarity

* Refactor WebAuthnController to replace SSO policy validation with PolicyRequirement check

* Refactor BaseRequestValidator to replace SSO policy validation with PolicyRequirement check

* Refactor WebAuthnControllerTests to update test method names and adjust policy requirement checks

* Add tests for AttestationOptions and Post methods in WebAuthnControllerTests to validate scenario where SSO is not required

* Refactor RequireSsoPolicyRequirement initialization

* Refactor SSO requirement check for improved readability

* Rename test methods in RequireSsoPolicyRequirementFactoryTests for clarity on exempt status conditions

* Update RequireSsoPolicyRequirement to refine user status checks for SSO policy requirements
2025-04-23 15:43:36 +01:00
Todd Martin
465ec08f3a
fix(sso): Revert [deps] Auth: Update Duende.IdentityServer to 7.1.0
This reverts commit 4c5bf495f31f42036d492b088535b28590037aa1.
2025-04-22 10:02:47 -04:00
Daniel James Smith
cbb1168da8
Remove export-attachments feature flag (#5659)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-22 08:14:56 -04:00
Todd Martin
b38c75267f
[PM-19691] Remove duo-redirect feature flag (#5576)
* Completed grouping of feature flags by team.

* Completed grouping feature flags by team.

* Remove email delay feature flag

* Removed feature flag

* Fixed reference.

* Remove flag after merge.
2025-04-21 12:36:38 -04:00
Bernd Schoolmann
c195f83402
[PM-19728] Add keys on devices list and get responses (#5633)
* Add keys on devices list and get responses

* Mark retrieve device keys endpoint as deprecated
2025-04-21 13:49:17 +02:00
Jared McCannon
159e4fe502
Corrected the number sent to stripe. Corrected the test. (#5667) 2025-04-18 14:38:15 -05:00
Robyn MacCallum
9218ac0d7c
Add android-chrome-autofill flag (#5668) 2025-04-18 12:47:54 -04:00
Jared McCannon
89fc27b014
[PM-20230] - Send owners email when autoscaling (#5658)
* Added email when autoscaling. Added tests as well.

* Wrote tests. Renamed methods.
2025-04-18 08:13:55 -05:00
Jonas Hendrickx
bd90c34af2
[PM-19180] Calculate sales tax correctly for sponsored plans (#5611)
* [PM-19180] Calculate sales tax correctly for sponsored plans

* Cannot divide by zero if total amount excluding tax is zero.

* Unit tests for families & families for enterprise

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2025-04-17 11:33:16 -04:00
Daniel James Smith
f7e5759e7b
Remove GeneratorToolsModernization feature flag (#5660)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-17 08:59:00 -04:00
Shane Melton
49bae6c241
[PM-10611] Add EndUserNotifications feature flag (#5663) 2025-04-16 15:38:09 -07:00
Ike
1399b1417e
PM-6675 - Remove old registration endpoint (#5585)
* feat : remove old registration endpoint

* fix: update integration test user registration to match current registration; We need to keep the IRegistrationCommand.RegisterUser method to JIT user.

* fix: updating accounts/profile tests to match current implementations
2025-04-16 15:46:49 -04:00
Alex Morask
01a08c5814
[PM-19566] Update MSPs to "charge_automatically" with Admin-based opt-out (#5650)
* Update provider to charge automatically with Admin Portal-based opt-out

* Design feedback

* Run dotnet format
2025-04-16 13:36:04 -04:00
Jordan Aasen
3d59f5522d
[PM-19357] - [Defect] Unauthorised access allows limited access user to change custom hidden field of Items (#5572)
* prevent hidden password users from modifying hidden fields

* add tests

* fix serialization issues

* DRY up code

* return newly created cipher

* add sshKey data type

* fix tests
2025-04-16 10:33:00 -07:00
cyprain-okeke
4f698e9dea
Resolve the member page not loading issue (#5649) 2025-04-16 17:28:38 +01:00
Jonas Hendrickx
c182b37347
[PM-17830] Backend changes for admin initiated sponsorships (#5531)
* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Add `Notes` column to `OrganizationSponsorships` table

* Add feature flag to `CreateAdminInitiatedSponsorshipHandler`

* Unit tests for `CreateSponsorshipHandler`

* More tests for `CreateSponsorshipHandler`

* Forgot to add `Notes` column to `OrganizationSponsorships` table in the migration script

* `CreateAdminInitiatedSponsorshipHandler` unit tests

* Fix `CreateSponsorshipCommandTests`

* Encrypt the notes field

* Wrong business logic checking for invalid permissions.

* Wrong business logic checking for invalid permissions.

* Remove design patterns

* duplicate definition in Constants.cs

* Allow rollback

* Fix stored procedures & type

* Fix stored procedures & type

* Properly encapsulating this PR behind its feature flag

* Removed comments

* Updated ValidateSponsorshipCommand to validate admin initiated requirements

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com>
2025-04-16 11:27:58 -04:00
Brandon Treston
f678e3db79
[PM-19887] authorization for init pending organization (#5643)
* add token authorization for initPendingOrganizations

* clean up
2025-04-15 15:39:21 -04:00
Matt Gibson
1ac4a08672
Define use sd for decryption feature flag (#5653) 2025-04-15 15:03:06 -04:00
Justin Baur
2242a70e50
[PM-336] Nullable Platform & Unowned Services (#5646)
* Nullable Platform & Unowned Services

* Fix build errors

* Format
2025-04-15 12:56:58 -04:00
Thomas Rittson
84a984a9e6
[PM-19585] Use Authorize attributes for simple role authorization (#5555)
- Add Authorize<T> attribute
- Add IOrganizationRequirement and example implementation
- Add OrganizationRequirementHandler
- Add extension methods (replacing ICurrentContext)
- Move custom permissions claim definitions

---
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-04-15 14:36:00 +10:00
Thomas Avery
c9a42d861c
[PM-17987] Add feature flag (#5554) 2025-04-14 12:48:52 -05:00
Justin Baur
4d6e4d35f2
[PM-18555] Notifications service tests (#5473)
* Add RelayPush Notifications Tests

* Nullable Test Fixup

* Azure Queue Notifications Tests

* NotificationsHub Push Tests

* Make common base for API based notifications

* Register TimeProvider just in case

* Format

* React to TaskId

* Remove completed TODO
2025-04-14 13:04:56 -04:00
Alex Morask
dff00e613d
Add invoice null check (#5642) 2025-04-11 09:34:51 -04:00
bnagawiecki
d553d52c93
revert back to plural key value (#5638) 2025-04-10 16:24:16 -04:00
SmithThe4th
0b50a1819e
Added feature flag (#5632) 2025-04-10 14:55:40 -04:00
Shane Melton
a1016b4df9
Fix feature flag key value (#5636) 2025-04-10 18:28:53 +00:00
Alex Morask
54e7fac4d9
[PM-18770] Convert Organization to Business Unit (#5610)
* [NO LOGIC] Rename MultiOrganizationEnterprise to BusinessUnit

* [Core] Add IMailService.SendBusinessUnitConversionInviteAsync

* [Core] Add BusinessUnitConverter

* [Admin] Add new permission

* [Admin] Add BusinessUnitConverterController

* [Admin] Add Convert to Business Unit button to Organization edit page

* [Api] Add OrganizationBillingController.SetupBusinessUnitAsync action

* [Multi] Propagate provider type to sync response

* [Multi] Put updates behind feature flag

* [Tests] BusinessUnitConverterTests

* Run dotnet format

* Fixing post-main merge compilation failure
2025-04-10 10:06:16 -04:00
Robyn MacCallum
d85807e94f
Add mobile feature flags (#5629)
* Add mobile feature flags

* Update Constants.cs
2025-04-09 12:17:04 -04:00
Rui Tomé
f1a4829e5e
[PM-12485] Create OrganizationUpdateKeys command (#5600)
* Add OrganizationUpdateKeysCommand

* Add unit tests for OrganizationUpdateKeysCommand to validate permission checks and key updates

* Register OrganizationUpdateKeysCommand for dependency injection

* Refactor OrganizationsController to use IOrganizationUpdateKeysCommand for updating organization keys

* Remove outdated unit tests for UpdateOrganizationKeysAsync in OrganizationServiceTests

* Remove UpdateOrganizationKeysAsync method from IOrganizationService and OrganizationService implementations

* Add IOrganizationUpdateKeysCommand dependency mock to OrganizationsControllerTests
2025-04-09 15:23:29 +01:00
Bernd Schoolmann
0a4f97b50e
[PM-19883] Add untrust devices endpoint (#5619)
* Add untrust devices endpoint

* Fix tests

* Update src/Core/Auth/UserFeatures/DeviceTrust/UntrustDevicesCommand.cs

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>

* Fix whitespace

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-04-09 14:26:06 +02:00
Andreas Coroiu
19b5431177
[PM-18040] Add new feature flag (#5498) 2025-04-09 09:14:57 +02:00
Jonas Hendrickx
f8e89f1747
[PM-18170] Remove PM-15814-alert-owners-of-reseller-managed-orgs (#5412) 2025-04-09 07:53:43 +02:00
Jonas Hendrickx
8d4c3d83b2
Not updating automatic tax flag correctly when removing VAT number (#5608) 2025-04-08 21:54:52 +02:00
Jared McCannon
dcd62f00ba
[PM-15420] Managed to Claimed (#5594)
* Renamed ManagedUserDomainClaimedEmails to ClaimedUserDomainClaimedEmails

* Renamed method to improve clarity and consistency.

Replaced `ValidateManagedUserDomainAsync` with `ValidateClaimedUserDomainAsync`.

* Rename `GetOrganizationsManagingUserAsync` to `GetOrganizationsClaimingUserAsync`.

This renaming clarifies the function's purpose, aligning its name with the concept of "claiming" rather than "managing" user associations.

* Refactor variable naming in ValidateClaimedUserDomainAsync

* Managed to claimed

* Managed to claimed

* Managed to claimed

* Managing to Claiming

* Managing to Claiming

* Managing to Claiming

* Managing to Claiming

* Renamed DeleteManagedOrganizationUserAccountCommand to DeleteClaimedOrganizationUserAccountCommand

* Renamed IDeleteManagedOrganizationUserAccountCommand to IDeleteClaimedOrganizationUserAccountCommand

* Updated variable name

* IsManagedBy to IsClaimedBy

* Created new property. obsoleted old property and wired up for backward compatibility.

* More Managed to Claimed renames.

* Managed to Claimed

* Fixing tests... 🤦

* Got the rest of em

* missed the test 🤦

* fixed test.
2025-04-08 14:38:44 -05:00
Shane Melton
f5f8d37d72
[PM-18858] Use int.TryParse for plurality helper (#5625) 2025-04-08 11:13:47 -07:00
Justin Baur
f29b5c531f
Include Root Certificates in Custom Trust Store (#5624)
* Add new tests

* Include root CA's in custom trust store
2025-04-08 13:36:34 -04:00
Rui Tomé
65f382ee67
[PM-17616] Remove feature flag for PushSyncOrgKeysOnRevokeRestore (#5616) 2025-04-08 15:26:00 +01:00
Bernd Schoolmann
f732db4d2d
Add xchacha20poly1305 enc type (#5470) 2025-04-08 12:33:44 +02:00
Todd Martin
8beefbb417
[PM-19685] Remove email delay feature flag (#5622)
* Remove email delay feature flag

* Fixed reference.

* Removed field from old registration method
2025-04-07 21:36:08 -04:00
Justin Baur
a8403f3dc2
[PM-19601] Introduce options for adding certificates to trust without root (#5609)
* Introduce options for adding certificates to the X509ChainPolicy.CustomTrustStore

Co-authored-by: tangowithfoxtrot <tangowithfoxtrot@users.noreply.github.com>

* Add comments

* Fix places I am still calling it TLS options

* Format

* Format from root

* Add more tests

* Add HTTP Tests

* Format

* Switch to empty builder

* Remove unneeded helper

* Configure logging only once

---------

Co-authored-by: tangowithfoxtrot <tangowithfoxtrot@users.noreply.github.com>
2025-04-07 14:10:36 -04:00
Graham Walker
1cf9ff34c1
PM-17921 change the GenerateAccessData method to process lists in parallel (#5552)
* PM-17921 change the GenerateAccessData method to process lists in parallel.

* PM-17921 removing old method
2025-04-07 11:26:06 -05:00
bnagawiecki
01daad5942
add feature flag for new desktop cipher forms (#5621) 2025-04-07 10:48:50 -04:00
Rui Tomé
56915ec322
[PM-17474] Remove unused feature flag for device approval request admin notifications (#5615) 2025-04-07 15:22:09 +01:00