public async Task <ActionResult> VerifySecurityQuestionAsync(VerifySecurityQuestionViewModel model) { if (!ModelState.IsValid) { return(View("VerifySecurityQuestion", model)); } try { var authResponse = await _oktaAuthenticationClient.AnswerRecoveryQuestionAsync( new AnswerRecoveryQuestionOptions { Answer = model.Answer, StateToken = Session["stateToken"].ToString(), }).ConfigureAwait(false); if (authResponse.AuthenticationStatus == AuthenticationStatus.PasswordReset) { return(RedirectToAction("ResetPassword", "Manage")); } throw new NotImplementedException($"Unhandled Authentication Status {authResponse.AuthenticationStatus}"); } catch (Exception exception) { ModelState.AddModelError(string.Empty, exception.Message); return(View("VerifySecurityQuestion", model)); } }