public AuthToken GerarToken(LoginCommand loginCommand) { ValidacaoLogica.IsTrue <ValidacaoException>(loginCommand is null, "Comando de login não pode ser nulo."); loginCommand.Validar(); var usuario = usuariosRepository.ObterUm(x => x.Login == loginCommand.Login); ValidacaoLogica.IsTrue <RecursoNaoEncontradoException>(usuario is null, "Usuário não encontrado."); ValidacaoLogica.IsTrue <NaoAutorizadoException>(usuario.Senha != loginCommand.Senha, "Senha incorrenta."); // TODO: Implementar as roles var token = jwtHelper.GerarTokenAcesso(usuario.Nome, usuario.Cpf, null); return(new AuthToken() { DataExpiracao = token.ValidTo, Token = new JwtSecurityTokenHandler().WriteToken(token) }); }