public async Task <IActionResult> Login([FromBody] UserLoginDto model) { var user = await _securityBusiness.Login(model.UserName, model.Password); if (user == null) { return(Unauthorized()); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_configuration.GetSection("AppSettings:Token").Value); var tokenDescriptor = new SecurityTokenDescriptor() { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.UserName) }), Expires = DateTime.Now.AddDays(1), SigningCredentials = new SigningCredentials( new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha512Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(Ok(new { tokenString = tokenString })); }
public IActionResult Login(LoginRequest login) { try { if (!ValidateLoginRequest(login)) { return(BadRequest(new { Message = "Enter Proper Input Value." })); } var data = _userBusiness.Login(login); if (data == null) { message = "No User Present with this Email-Id and Password"; return(Ok(new { success, message })); } else { success = true; message = "User Successfully Logged In"; token = GenerateToken(data, _login); return(Ok(new { success, message, data, token })); } } catch (Exception e) { return(BadRequest(new { e.Message })); } }