/// <summary> /// Method to validate the credentials of a user. /// </summary> /// <param name="authentication"></param> /// <returns></returns> public static Users LoginUser(Authentication authentication) { try { DbHelper dbHelper = new DbHelper(); MySqlConnection connection = dbHelper.GetMySqlConnection(); DataTable dataTable = new DataTable(); using (connection) { connection.Open(); MySqlCommand command = new MySqlCommand(Constants.SP_LOGIN, connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("parEmail", authentication.EmailAddress); command.Parameters.AddWithValue("parPassword", authentication.Password); MySqlDataAdapter adapter = new MySqlDataAdapter(command); adapter.Fill(dataTable); adapter.Dispose(); command.Dispose(); connection.Close(); } if (dataTable.Rows.Count > 0) { Users users = new Users(Convert.ToInt32(dataTable.Rows[0]["id"]), Convert.ToString(dataTable.Rows[0]["first_name"]), Convert.ToString(dataTable.Rows[0]["last_name"]), Convert.ToString(dataTable.Rows[0]["email_address"]), Convert.ToString(dataTable.Rows[0]["phone_number"])); users.JwToken = JwTHelper.GenrateJwT(users.ToKeyValuePairs()); return(users); } return(null); } catch (Exception e) { Logger.logError(typeof(AuthHelper).Name, e.ToString()); return(null); } }
public void GenerateJWTSuccessfully() { Users users = new Users(1, "Pronoy", "Mukherjee", "*****@*****.**", "+919874045815"); string jwT = JwTHelper.GenrateJwT(users.ToKeyValuePairs()); Assert.IsNotNull(jwT); }
public IActionResult UpdateUsers([FromBody] UsersForUpdate users) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Response response; string decodedToken = JwTHelper.ValidateJwT(this.HttpContext.Request.Headers[Constants.JW_TOKEN_KEY]); dynamic tokenData = JObject.Parse(decodedToken); int userId = tokenData.UserId; if (string.IsNullOrEmpty(decodedToken) || userId != users.UserId) { HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; response = new Response("Invalid JwT", Constants.ERROR_MSG, null); return(new ObjectResult(response)); } int isUpdated = UsersHelper.UpdateUserDetails(users); if (isUpdated > 0) { this.HttpContext.Response.StatusCode = (int)HttpStatusCode.OK; response = new Response(Constants.SUCCESS_MSG, Constants.SUCCESS_MSG, 1); return(new ObjectResult(response)); } response = new Response(Constants.INTERNAL_SERVER_ERROR_MSG, Constants.ERROR_MSG, null); return(new ObjectResult(response)); }
public IActionResult GetUsers(int id) { Response response; string token = this.HttpContext.Request.Headers[Constants.JW_TOKEN_KEY]; string decodedToken = JwTHelper.ValidateJwT(token); dynamic tokenData = JObject.Parse(decodedToken); int userId = tokenData.UserId; if (string.IsNullOrEmpty(decodedToken)) { this.HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; response = new Response(Constants.FORBIDDEN_MSG, Constants.ERROR_MSG, null); return(new ObjectResult(response)); } if (id > 0 && userId == id) { this.HttpContext.Response.StatusCode = (int)HttpStatusCode.OK; Users users = UsersHelper.GetUsers(id, string.Empty); response = new Response(Constants.SUCCESS_MSG, Constants.SUCCESS_MSG, users); return(new ObjectResult(response)); } this.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; response = new Response("Invalid Id", Constants.ERROR_MSG, null); return(new ObjectResult(response)); }
/// <summary> /// Method to register a user. /// </summary> /// <param name="users"></param> /// <param name="Password"></param> /// <returns>The users object with the JwT.</returns> public static Users RegisterUser(Users users, string Password) { try { DbHelper dbHelper = new DbHelper(); MySqlConnection connection = dbHelper.GetMySqlConnection(); using (connection) { connection.Open(); MySqlCommand command = new MySqlCommand(Constants.SP_REGISTER_USER, connection); command.CommandType = System.Data.CommandType.StoredProcedure; command.Parameters.AddWithValue("parFirstName", users.FirstName); command.Parameters.AddWithValue("parLastName", users.LastName); command.Parameters.AddWithValue("parEmail", users.EmailAddress); command.Parameters.AddWithValue("parPhone", users.PhoneNumber); command.Parameters.AddWithValue("parPassword", Password); users.UserId = Convert.ToInt32(command.ExecuteScalar()); if (users.UserId > -1) { users.JwToken = JwTHelper.GenrateJwT(users.ToKeyValuePairs()); users.Password = null; } command.Dispose(); connection.Close(); return(users); } } catch (Exception e) { Logger.logError(typeof(UsersHelper).Name, e.ToString()); throw e; } }
public IEnumerable <WeatherForecast> Get() { var c = new JwTHelper().CreatToken(); var rng = new Random(); return(Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }) .ToArray()); }