public string Login(LoginDTO data, IConfiguration config) { if (String.IsNullOrEmpty(data.Email)) { throw new Exception("Email field is required!"); } if (String.IsNullOrEmpty(data.Password)) { throw new Exception("Password field is required!"); } if (!data.Email.Contains("@")) { throw new Exception("Enter valid email!"); } data.Password = Compute256Hash.ComputeSha256Hash(data.Password); var valid = _unitOfWork.User.Find(u => u.Password == data.Password && u.Email == data.Email && u.IsDeleted == 0).FirstOrDefault(); if (valid != null) { var token = GenerateToken.GenerateJSONWebToken(valid, config); return(token); } else { throw new Exception("User not found"); } }
public async Task <IActionResult> Login([FromBody] LoginRequest model) { var user = await userManager.FindByNameAsync(model.username); IActionResult response = Unauthorized(); if (user != null && await userManager.CheckPasswordAsync(user, model.password)) { GenerateToken generateToken = new GenerateToken(configuration, userManager, settings); var tokenString = generateToken.GenerateJSONWebToken(user); response = Ok(new { token = tokenString.Result }); return(response); } else { return(Unauthorized()); } }