1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-06 03:00:36 -05:00

Refactor AcceptOrgUserCommand and ConfirmOrganizationUserCommand to streamline two-factor authentication checks by removing redundant conditions and simplifying logic flow.

This commit is contained in:
Rui Tome 2025-05-26 12:11:22 +01:00
parent 398a542528
commit 8fc79f26d1
No known key found for this signature in database
GPG Key ID: 526239D96A8EC066
2 changed files with 15 additions and 15 deletions

View File

@ -246,17 +246,17 @@ public class AcceptOrgUserCommand : IAcceptOrgUserCommand
{ {
throw new BadRequestException("You cannot join this organization until you enable two-step login on your user account."); throw new BadRequestException("You cannot join this organization until you enable two-step login on your user account.");
} }
return;
} }
else
if (!await _twoFactorIsEnabledQuery.TwoFactorIsEnabledAsync(user))
{ {
if (!await _twoFactorIsEnabledQuery.TwoFactorIsEnabledAsync(user)) var invitedTwoFactorPolicies = await _policyService.GetPoliciesApplicableToUserAsync(user.Id,
PolicyType.TwoFactorAuthentication, OrganizationUserStatusType.Invited);
if (invitedTwoFactorPolicies.Any(p => p.OrganizationId == organizationId))
{ {
var invitedTwoFactorPolicies = await _policyService.GetPoliciesApplicableToUserAsync(user.Id, throw new BadRequestException("You cannot join this organization until you enable two-step login on your user account.");
PolicyType.TwoFactorAuthentication, OrganizationUserStatusType.Invited);
if (invitedTwoFactorPolicies.Any(p => p.OrganizationId == organizationId))
{
throw new BadRequestException("You cannot join this organization until you enable two-step login on your user account.");
}
} }
} }
} }

View File

@ -186,15 +186,15 @@ public class ConfirmOrganizationUserCommand : IConfirmOrganizationUserCommand
{ {
throw new BadRequestException("User does not have two-step login enabled."); throw new BadRequestException("User does not have two-step login enabled.");
} }
return;
} }
else
var orgRequiresTwoFactor = (await _policyService.GetPoliciesApplicableToUserAsync(user.Id, PolicyType.TwoFactorAuthentication))
.Any(p => p.OrganizationId == organizationId);
if (orgRequiresTwoFactor && !userTwoFactorEnabled)
{ {
var orgRequiresTwoFactor = (await _policyService.GetPoliciesApplicableToUserAsync(user.Id, PolicyType.TwoFactorAuthentication)) throw new BadRequestException("User does not have two-step login enabled.");
.Any(p => p.OrganizationId == organizationId);
if (orgRequiresTwoFactor && !userTwoFactorEnabled)
{
throw new BadRequestException("User does not have two-step login enabled.");
}
} }
} }