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));
        }