public async Task <SSOLoginResponse> SSOLogin([FromBody] SSOLoginRequest request) { SSOLoginResponse response = new SSOLoginResponse(); try { if (!string.IsNullOrEmpty(request.UserName) && !string.IsNullOrEmpty(request.Password)) { var user = _context.UserEntities.FirstOrDefault(a => a.CustomerPhone.Equals(request.UserName)); if (user == null) { response.Successful = false; response.Message = "用户名或密码错误!"; return(response); } if (user.CustomerPwd == request.Password) { return(response); } } response.Successful = false; response.Message = "用户名密码不能为空!"; } catch (Exception ex) { response.Successful = false; response.Message = ex.Message; } return(response); }
public async Task <HttpResponseMessage> LoginFromSSO([FromBody] LoginRequestPayload requestPayload) { using (var _db = new DatabaseContext()) { try { // Throws ExceptionService.InvalidModelPayloadException ControllerHelpers.ValidateModelAndPayload(ModelState, requestPayload); // Throws ExceptionService.InvalidGuidException Guid userSSOID = ControllerHelpers.ParseAndCheckId(requestPayload.SSOUserId); var _ssoLoginManager = new KFC_SSO_Manager(_db); // user will get logged in or registered var loginSession = await _ssoLoginManager.LoginFromSSO( requestPayload.Email, userSSOID, requestPayload.Timestamp, requestPayload.Signature); _db.SaveChanges(); var redirectURL = "https://pointmap.net/#/login/?token=" + loginSession.Token; var response = SSOLoginResponse.ResponseRedirect(Request, redirectURL); return(response); } catch (Exception e) when(e is InvalidGuidException || e is InvalidModelPayloadException || e is InvalidEmailException) { var response = new HttpResponseMessage(HttpStatusCode.BadRequest); response.Content = new StringContent(e.Message); return(response); } catch (Exception e) when(e is UserAlreadyExistsException) { var response = new HttpResponseMessage(HttpStatusCode.Conflict); response.Content = new StringContent(e.Message); return(response); } catch (Exception e) when(e is InvalidTokenSignatureException) { var response = new HttpResponseMessage(HttpStatusCode.Unauthorized); response.Content = new StringContent(e.Message); return(response); } catch (Exception e) { if (e is DbUpdateException || e is DbEntityValidationException) { _db.RevertDatabaseChanges(_db); } var response = new HttpResponseMessage(HttpStatusCode.InternalServerError); return(response); } } }
public async Task <JsonResult> UserLogin(string UserName, string UserPwd) { SSOLoginRequest request = new SSOLoginRequest { UserName = UserName, Password = MI.Web.Common.MD5Helper.Get_MD5(UserPwd) }; SSOLoginResponse response = null; try { response = await accountService.SSOLogin(request); } catch (Exception ex) { _logger.LogError(ex, "登录发生错误!"); return(Json(ex.Message)); } if (response.Successful) { return(Json("ok")); } return(Json(response.Message)); }