public async Task <IActionResult> Register([FromBody] JsonLoginModel userModel) { var user = new User { UserName = userModel.username, Email = userModel.email, }; var result = await _userManager.CreateAsync(user, userModel.password); if (result.Succeeded) { return(Ok()); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> Login([FromBody] JsonLoginModel userModel) { var user = await _userManager.FindByNameAsync(userModel.username); if (user != null && await _userManager.CheckPasswordAsync(user, userModel.password)) { var securityKey = _configuration["JwtTokens:Secret"]; var token = JwtTokenUtils.GenerateToken(user, securityKey); var validUntil = token.Claims.FirstOrDefault(o => o.Type == "exp")?.Value; return(Json(new { jwt = new JwtSecurityTokenHandler().WriteToken(token), validUntil })); } return(BadRequest("Incorrect combination of username and password")); }