public async Task <TokenModel> LoginAsync(LoginModel login) { CustomerModel customer = await _customerBusiness.GetCustomerByEmailAsync(login.Email); if (customer == null) { throw new KeyNotFoundException("Usuário ou senha inválidos"); } await ValidateSamePasswordAsync(login.Password, customer.Password); string permissions = await _permissionBusiness.GetPermissionByCustomerIdAsync(customer.Id); return(await _tokenHandler.CreateJwtToken(customer, permissions)); }