public HttpResponseMessage Authentificate(HttpRequestMessage request, [FromBody] CredentialsData viewModel) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (_oktaProvider.ValidateUser(viewModel.Email, viewModel.Password)) { try { var principal = Thread.CurrentPrincipal as EzePrincipal; if (principal != null) { var userData = new SimpleUserData(principal.UserId, principal.Login, principal.Identity.Name, principal.CompanyId, principal.MemeberName); response = request.CreateResponse(HttpStatusCode.OK, new { userData = userData, loginSuccess = true }); } } catch (Exception ex) { response = request.CreateResponse(HttpStatusCode.OK, new { loginSuccess = false, message = ex.Message }); } } else { response = request.CreateResponse(HttpStatusCode.OK, new { loginSuccess = false, message = HttpContext.Current.Items["authnError"] }); } return response; })); }