public ActionResult <string> Get([FromQuery] LoginModel data) { var user = Program.DataBase.UserCollection.FindById(data.Id); if (user == null) { return(NotFound()); } if (user.Password != HashGenerator.ComputeSha512Hash(data.Password + user.Salt, 100)) { return(Unauthorized()); } user.Token = TokenGenerator.GetToken(); user.LastLoginDate = DateTime.UtcNow.AddHours(9); Program.DataBase.UserCollection.Update(user); var jwtData = new Dictionary <string, string> { { "Id", user.Id }, { "Name", user.Name } }; return(Jwt.NewJwt(user.Token, jwtData)); }
public ActionResult <string> Post(RegisterModel data) { if (Program.DataBase.UserCollection.FindById(data.Id) != null) { return(Conflict()); } var user = new User { Id = data.Id, Name = data.Name, Salt = TokenGenerator.GetToken(), RegisterDate = DateTime.UtcNow.AddHours(9), LastLoginDate = DateTime.UtcNow.AddHours(9) }; user.Password = HashGenerator.ComputeSha512Hash(data.Password + user.Salt, 100); Program.DataBase.UserCollection.Insert(user); return(Ok()); }