public async Task <IActionResult> GenerateToken([FromBody] TokenLoginViewModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(model.Email); if (user != null) { var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false); if (result.Succeeded) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.Email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), }.Union(User.Claims); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Tokens:Key"])); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( _config["Tokens:Issuer"], _config["Tokens:Issuer"], claims, expires: DateTime.Now.AddDays(1), signingCredentials: credentials); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } } } return(BadRequest("Could not create token.")); }
private bool ValidarUsuario(TokenLoginViewModel login) { if (login.Usuario == "project" && login.Senha == "api#21@") { return(true); } else { return(false); } }
public IActionResult Login([FromBody] TokenLoginViewModel login) { bool resultado = ValidarUsuario(login); if (resultado) { var tokenString = GerarToken(); return(Ok(new TokenRetornoViewModel { Token = tokenString, DataTokenGerado = DateTime.Now })); } else { return(Unauthorized()); } }