public async Task <IActionResult> ConfirmLogin(LoginAttemptConfirmInputModel model, CancellationToken cancellationToken) { _logger.LogInformation("Show confirm page for {LoginAttemptId}", model.Id); var loginAttemptId = model.Id.GetValueOrDefault(); var loginAttempt = await _mediator.Send(new GetLoginAttemptQuery(loginAttemptId), cancellationToken); if (loginAttempt?.Secret != model.Secret) { loginAttempt = null; } var viewModel = BuildLoginAttemptConfirmViewModel(loginAttemptId, loginAttempt); return(View(viewModel)); }
public async Task <IActionResult> ConfirmLoginFinish(LoginAttemptConfirmInputModel model, string button, CancellationToken cancellationToken) { var loginAttemptId = model.Id.GetValueOrDefault(); if (button != "yes") { _logger.LogInformation("Reject login attempt {LoginAttemptId}", loginAttemptId); var loginAttempt = await _mediator.Send(new RejectLoginAttemptCommand(loginAttemptId, model.Secret), cancellationToken); return(View(loginAttempt != null ? LoginAttemptStatus.Deleted : null)); } else { _logger.LogInformation("Confirm login attempt {LoginAttemptId}", loginAttemptId); var loginAttempt = await _mediator.Send(new ApproveLoginAttemptCommand(loginAttemptId, model.Secret), cancellationToken); return(View(loginAttempt?.Status)); } }