public ActionResult UpdateProfile(UpdateStudentProfileDTO dto) { var username = User.FindFirst("UserName")?.Value; var account = _accountsRepository.CheckLogin(username, dto.Password); if (account == null) { return(BadRequest()); } account.Name = dto.Name; _accountsRepository.Update(account); _accountsRepository.SaveChanges(); return(NoContent()); }
public IActionResult Login([FromBody] AccountDTO account) { if (account != null || account.Username != null || account.Password != null) { var acc = _accountsRepository.CheckLogin(account.Username, account.Password); if (acc != null) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, _configuration["JWT:Subject"]), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Iat, DateTime.UtcNow.ToString()), new Claim("UserName", acc.Username), new Claim("Name", acc.Name), new Claim("Password", acc.Password), new Claim("role", acc.IsTeacher.ToString()), new Claim("IsTeacher", acc.IsTeacher.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWT:Key"])); var signIn = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( _configuration["JWT:Issure"], _configuration["JWT:Audience"], claims, expires: DateTime.UtcNow.AddHours(12), signingCredentials: signIn ); return(Ok(new JwtSecurityTokenHandler().WriteToken(token))); } else { return(BadRequest("Invalid credentials")); } } else { return(BadRequest()); } }