public async Task <IActionResult> Login([FromBody] UserForLoginModel user) { var userFromDatabase = await _service.Login(user.Username, user.Password); if (userFromDatabase == null) { return(Unauthorized()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, userFromDatabase.UserId.ToString()), new Claim(ClaimTypes.Name, userFromDatabase.Username) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescription = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(1), SigningCredentials = creds }; var tokenHandeler = new JwtSecurityTokenHandler(); var token = tokenHandeler.CreateToken(tokenDescription); return(Ok(new { token = tokenHandeler.WriteToken(token) })); }
public async Task <User> Login(UserForLoginModel userModel) { User user = await userRepository.GetAsync(x => x.UserName == userModel.username.ToLower()); if (user != null) { if (VerifyPassword(userModel.password, user.PasswordHash, user.PasswordSalt)) { return(user); } } return(null); }
public async Task <IActionResult> Login([FromBody] UserForLoginModel userForLogin) { var user = await _service.Login(userForLogin.Username, userForLogin.Password); if (user == null) { return(Unauthorized()); } var tokenString = _service.AuthTokenHandler(user.UserID.ToString(), user.Username, user.UserRole); return(Ok(new { Jwt = tokenString, user, userForLogin.RememberMe })); }
public IActionResult Login(UserForLoginModel request) { var url = "https://news-fpt-api.azurewebsites.net/api/Users/LoginAdmin"; var json = JsonConvert.SerializeObject(request); var result = api.SendAsyncJson(url, json, false); Debug.WriteLine(result); var error = ""; if (result.Result == "") { return(RedirectToAction("Index", "News")); } else { error = "Username or password is incorrect ! "; } return(RedirectToAction("Index", error)); }
public async Task <ActionResult> Login(UserForLoginModel userModel) { var user = await userManager.Login(userModel); if (user == null) { Unauthorized(); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Name, user.UserName) }; //here creating token var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSettings:Token").Value)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(10), SigningCredentials = creds }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); //here gives a token as return return(Ok(new { token = tokenHandler.WriteToken(token) })); }