public async Task ConfirmIdentityAsync(ConfirmIdentityAdto confirmIdentityAdto) { using (ITransaction transaction = _transactionManager.Create()) { try { Identity identity = await _identityCommandRepository.GetByIdAsync(confirmIdentityAdto.IdentityId); if (identity == null) { throw new BusinessApplicationException(ExceptionType.NotFound, "No identity found to confirm identity"); } await _confirmIdentityCommand.ExecuteAsync(identity, new ConfirmIdentityCommandDdto { Token = confirmIdentityAdto.Token }); await _identityCommandRepository.UpdateAsync(identity); transaction.Commit(); } catch (InvalidTwoFactorTokenDomainException) { throw new BusinessApplicationException(ExceptionType.Unauthorized, "Token invalid for identity"); } catch (DomainValidationRuleException e) { throw new BusinessValidationRuleApplicationException(e.ValidationResult); } } }
public Task ConfirmIdentityAsync(ConfirmIdentityAdto confirmIdentityAdto) { return(_securityApplicationService.SecureAsync(() => _identityApplicationService.ConfirmIdentityAsync(confirmIdentityAdto), IdentityAuthorisationContext.Create(confirmIdentityAdto.IdentityId, IdentityAuthorisationAction.Confirm))); }