public IActionResult Register([FromForm] RegisterUserModel userRegisterModel) { if (!ModelState.IsValid || !ValidateRegisterUser(userRegisterModel)) { return(BadRequest()); } User registerUser = userRegisterModel.User; if (ProcessRegisterUserModelData(registerUser)) { _repositoryWrapper.Account.Add(registerUser); _repositoryWrapper.Save(); TokenProvider tokenProvider = new TokenProvider(); string userTokenString = tokenProvider.CreateUserTokenString(registerUser); if (userTokenString != null && userTokenString.Length > 0) { HttpContext.Session.SetString(TokenProvider.GetTokenSessionKeyString(), userTokenString); } } return(Ok()); }
public async Task <IActionResult> Login([FromForm] LoginUserModel userLoginModel) { if (!ModelState.IsValid || !ValidateLoginUser(userLoginModel)) { return(BadRequest()); } User loginUser = userLoginModel.User; User loggedUser = null; string userSessionDataString = string.Empty; if (ProcessLoginUserModelData(loginUser)) { loggedUser = await _repositoryWrapper.Account.Authenticate(loginUser.NickName, loginUser.Password); if (loggedUser == null) { return(BadRequest(new { message = "Username or password is incorrect" })); } else { if (_repositoryWrapper.Account.UpdateLoggedUserData(loggedUser)) { _repositoryWrapper.Save(); loggedUser.Password = string.Empty; } TokenProvider tokenProvider = new TokenProvider(); string userTokenString = tokenProvider.CreateUserTokenString(loggedUser); if (userTokenString != null && userTokenString.Length > 0) { HttpContext.Session.SetString(TokenProvider.GetTokenSessionKeyString(), userTokenString); return(Ok(loggedUser)); } } } return(BadRequest()); }