示例#1
0
 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;
     }));
 }