public TokenDeAcesso Autenticar(LoginAcesso login) { var usuario = _repository.ObterTodos().SingleOrDefault(u => u.Email == login.Email && u.Senha == login.Senha); if (usuario == null) { return(null); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.ChaveSecretaToken); var dataDeValidade = DateTime.Now.AddHours(4); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, usuario.Id.ToString()), new Claim(ClaimTypes.Email, usuario.Email) }), Expires = dataDeValidade, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(new TokenDeAcesso { Token = tokenHandler.WriteToken(token), ValidoAte = dataDeValidade }); }
public IActionResult Token([FromBody] LoginAcesso login) { var tokenDeAcesso = _autenticacaoService.Autenticar(login); if (tokenDeAcesso == null) { return(BadRequest("Usuário ou senha errada")); } return(Ok(tokenDeAcesso)); }