mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 08:02:49 -05:00
[PM-11405] Account Management: Prevent a verified user from changing their email address (#4875)
* Add check for managed user before purging account * Rename IOrganizationRepository.GetByClaimedUserDomainAsync to GetByVerifiedUserEmailDomainAsync and refactor to return a list. Remove ManagedByOrganizationId from ProfileResponseMode. Add ManagesActiveUser to ProfileOrganizationResponseModel * Rename the property ManagesActiveUser to UserIsManagedByOrganization * Remove whole class #nullable enable and add it to specific places * [PM-11405] Account Deprovisioning: Prevent a verified user from changing their email address * Remove unnecessary .ToList() * Refactor IUserService methods GetOrganizationsManagingUserAsync and IsManagedByAnyOrganizationAsync to not return nullable objects. Update ProfileOrganizationResponseModel.UserIsManagedByOrganization to not be nullable * Update error message when unable to purge vault for managed account * Update error message when unable to change email for managed account * Update expected error messages on unit tests * Add TestFeatureService to Api.IntegrationTest.Helpers and use it on ApiApplicationFactory to be able to enable specific features for each test * Add CreateVerifiedDomainAsync method to OrganizationTestHelpers * Add tests to AccountsControllerTest to prevent changing email for managed accounts * Remove setting the feature flag value in ApiApplicationFactory and set it on AccountsControllerTest * Remove TestFeatureService class from Api.IntegrationTest.Helpers
This commit is contained in:
@ -105,4 +105,22 @@ public static class OrganizationTestHelpers
|
||||
|
||||
return (email, organizationUser);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a VerifiedDomain for the specified organization.
|
||||
/// </summary>
|
||||
public static async Task CreateVerifiedDomainAsync(ApiApplicationFactory factory, Guid organizationId, string domain)
|
||||
{
|
||||
var organizationDomainRepository = factory.GetService<IOrganizationDomainRepository>();
|
||||
|
||||
var verifiedDomain = new OrganizationDomain
|
||||
{
|
||||
OrganizationId = organizationId,
|
||||
DomainName = domain,
|
||||
Txt = "btw+test18383838383"
|
||||
};
|
||||
verifiedDomain.SetVerifiedDate();
|
||||
|
||||
await organizationDomainRepository.CreateAsync(verifiedDomain);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user