mirror of
https://github.com/bitwarden/server.git
synced 2025-05-22 20:11:04 -05:00
[PM-11622] Implement UseOrganizationDomains (#5822)
* implement UseOrganizationDomains * fix undefined error
This commit is contained in:
parent
51e489ac9d
commit
cbf49b915b
@ -69,7 +69,7 @@
|
|||||||
document.getElementById('@(nameof(Model.UseGroups))').checked = plan.hasGroups;
|
document.getElementById('@(nameof(Model.UseGroups))').checked = plan.hasGroups;
|
||||||
document.getElementById('@(nameof(Model.UsePolicies))').checked = plan.hasPolicies;
|
document.getElementById('@(nameof(Model.UsePolicies))').checked = plan.hasPolicies;
|
||||||
document.getElementById('@(nameof(Model.UseSso))').checked = plan.hasSso;
|
document.getElementById('@(nameof(Model.UseSso))').checked = plan.hasSso;
|
||||||
document.getElementById('@(nameof(Model.UseOrganizationDomains))').checked = hasOrganizationDomains;
|
document.getElementById('@(nameof(Model.UseOrganizationDomains))').checked = plan.hasOrganizationDomains;
|
||||||
document.getElementById('@(nameof(Model.UseScim))').checked = plan.hasScim;
|
document.getElementById('@(nameof(Model.UseScim))').checked = plan.hasScim;
|
||||||
document.getElementById('@(nameof(Model.UseDirectory))').checked = plan.hasDirectory;
|
document.getElementById('@(nameof(Model.UseDirectory))').checked = plan.hasDirectory;
|
||||||
document.getElementById('@(nameof(Model.UseEvents))').checked = plan.hasEvents;
|
document.getElementById('@(nameof(Model.UseEvents))').checked = plan.hasEvents;
|
||||||
|
@ -24,9 +24,7 @@ public class GetOrganizationUsersClaimedStatusQuery : IGetOrganizationUsersClaim
|
|||||||
// Users can only be claimed by an Organization that is enabled and can have organization domains
|
// Users can only be claimed by an Organization that is enabled and can have organization domains
|
||||||
var organizationAbility = await _applicationCacheService.GetOrganizationAbilityAsync(organizationId);
|
var organizationAbility = await _applicationCacheService.GetOrganizationAbilityAsync(organizationId);
|
||||||
|
|
||||||
// TODO: Replace "UseSso" with a new organization ability like "UseOrganizationDomains" (PM-11622).
|
if (organizationAbility is { Enabled: true, UseOrganizationDomains: true })
|
||||||
// Verified domains were tied to SSO, so we currently check the "UseSso" organization ability.
|
|
||||||
if (organizationAbility is { Enabled: true, UseSso: true })
|
|
||||||
{
|
{
|
||||||
// Get all organization users with claimed domains by the organization
|
// Get all organization users with claimed domains by the organization
|
||||||
var organizationUsersWithClaimedDomain = await _organizationUserRepository.GetManyByOrganizationWithClaimedDomainsAsync(organizationId);
|
var organizationUsersWithClaimedDomain = await _organizationUserRepository.GetManyByOrganizationWithClaimedDomainsAsync(organizationId);
|
||||||
|
@ -1341,9 +1341,7 @@ public class UserService : UserManager<User>, IUserService, IDisposable
|
|||||||
var organizationsWithVerifiedUserEmailDomain = await _organizationRepository.GetByVerifiedUserEmailDomainAsync(userId);
|
var organizationsWithVerifiedUserEmailDomain = await _organizationRepository.GetByVerifiedUserEmailDomainAsync(userId);
|
||||||
|
|
||||||
// Organizations must be enabled and able to have verified domains.
|
// Organizations must be enabled and able to have verified domains.
|
||||||
// TODO: Replace "UseSso" with a new organization ability like "UseOrganizationDomains" (PM-11622).
|
return organizationsWithVerifiedUserEmailDomain.Where(organization => organization is { Enabled: true, UseOrganizationDomains: true });
|
||||||
// Verified domains were tied to SSO, so we currently check the "UseSso" organization ability.
|
|
||||||
return organizationsWithVerifiedUserEmailDomain.Where(organization => organization is { Enabled: true, UseSso: true });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc cref="IsLegacyUser(string)"/>
|
/// <inheritdoc cref="IsLegacyUser(string)"/>
|
||||||
|
@ -25,13 +25,13 @@ public class GetOrganizationUsersClaimedStatusQueryTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory, BitAutoData]
|
[Theory, BitAutoData]
|
||||||
public async Task GetUsersOrganizationManagementStatusAsync_WithUseSsoEnabled_Success(
|
public async Task GetUsersOrganizationManagementStatusAsync_WithUseOrganizationDomainsEnabled_Success(
|
||||||
Organization organization,
|
Organization organization,
|
||||||
ICollection<OrganizationUser> usersWithClaimedDomain,
|
ICollection<OrganizationUser> usersWithClaimedDomain,
|
||||||
SutProvider<GetOrganizationUsersClaimedStatusQuery> sutProvider)
|
SutProvider<GetOrganizationUsersClaimedStatusQuery> sutProvider)
|
||||||
{
|
{
|
||||||
organization.Enabled = true;
|
organization.Enabled = true;
|
||||||
organization.UseSso = true;
|
organization.UseOrganizationDomains = true;
|
||||||
|
|
||||||
var userIdWithoutClaimedDomain = Guid.NewGuid();
|
var userIdWithoutClaimedDomain = Guid.NewGuid();
|
||||||
var userIdsToCheck = usersWithClaimedDomain.Select(u => u.Id).Concat(new List<Guid> { userIdWithoutClaimedDomain }).ToList();
|
var userIdsToCheck = usersWithClaimedDomain.Select(u => u.Id).Concat(new List<Guid> { userIdWithoutClaimedDomain }).ToList();
|
||||||
@ -51,13 +51,13 @@ public class GetOrganizationUsersClaimedStatusQueryTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory, BitAutoData]
|
[Theory, BitAutoData]
|
||||||
public async Task GetUsersOrganizationManagementStatusAsync_WithUseSsoDisabled_ReturnsAllFalse(
|
public async Task GetUsersOrganizationManagementStatusAsync_WithUseOrganizationDomainsDisabled_ReturnsAllFalse(
|
||||||
Organization organization,
|
Organization organization,
|
||||||
ICollection<OrganizationUser> usersWithClaimedDomain,
|
ICollection<OrganizationUser> usersWithClaimedDomain,
|
||||||
SutProvider<GetOrganizationUsersClaimedStatusQuery> sutProvider)
|
SutProvider<GetOrganizationUsersClaimedStatusQuery> sutProvider)
|
||||||
{
|
{
|
||||||
organization.Enabled = true;
|
organization.Enabled = true;
|
||||||
organization.UseSso = false;
|
organization.UseOrganizationDomains = false;
|
||||||
|
|
||||||
var userIdWithoutClaimedDomain = Guid.NewGuid();
|
var userIdWithoutClaimedDomain = Guid.NewGuid();
|
||||||
var userIdsToCheck = usersWithClaimedDomain.Select(u => u.Id).Concat(new List<Guid> { userIdWithoutClaimedDomain }).ToList();
|
var userIdsToCheck = usersWithClaimedDomain.Select(u => u.Id).Concat(new List<Guid> { userIdWithoutClaimedDomain }).ToList();
|
||||||
|
@ -347,7 +347,7 @@ public class UserServiceTests
|
|||||||
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
||||||
{
|
{
|
||||||
organization.Enabled = true;
|
organization.Enabled = true;
|
||||||
organization.UseSso = true;
|
organization.UseOrganizationDomains = true;
|
||||||
|
|
||||||
sutProvider.GetDependency<IOrganizationRepository>()
|
sutProvider.GetDependency<IOrganizationRepository>()
|
||||||
.GetByVerifiedUserEmailDomainAsync(userId)
|
.GetByVerifiedUserEmailDomainAsync(userId)
|
||||||
@ -362,7 +362,7 @@ public class UserServiceTests
|
|||||||
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
||||||
{
|
{
|
||||||
organization.Enabled = false;
|
organization.Enabled = false;
|
||||||
organization.UseSso = true;
|
organization.UseOrganizationDomains = true;
|
||||||
|
|
||||||
sutProvider.GetDependency<IOrganizationRepository>()
|
sutProvider.GetDependency<IOrganizationRepository>()
|
||||||
.GetByVerifiedUserEmailDomainAsync(userId)
|
.GetByVerifiedUserEmailDomainAsync(userId)
|
||||||
@ -373,11 +373,11 @@ public class UserServiceTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Theory, BitAutoData]
|
[Theory, BitAutoData]
|
||||||
public async Task IsClaimedByAnyOrganizationAsync_WithOrganizationUseSsoFalse_ReturnsFalse(
|
public async Task IsClaimedByAnyOrganizationAsync_WithOrganizationUseOrganizationDomaisFalse_ReturnsFalse(
|
||||||
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
SutProvider<UserService> sutProvider, Guid userId, Organization organization)
|
||||||
{
|
{
|
||||||
organization.Enabled = true;
|
organization.Enabled = true;
|
||||||
organization.UseSso = false;
|
organization.UseOrganizationDomains = false;
|
||||||
|
|
||||||
sutProvider.GetDependency<IOrganizationRepository>()
|
sutProvider.GetDependency<IOrganizationRepository>()
|
||||||
.GetByVerifiedUserEmailDomainAsync(userId)
|
.GetByVerifiedUserEmailDomainAsync(userId)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user