protected function validateAuthParams()
    {
        if (empty($this->authUrl) || filter_var($this->authUrl, FILTER_VALIDATE_URL) === false) {
            throw new Oauth2ClientException(sprintf(self::INVALID_AUTH_URL, $this->authUrl));
        }

        if (empty($this->clientId)) {
            throw new Oauth2ClientException(self::INVALID_CLIENT_ID);
        }

        if (empty($this->clientSecret)) {
            throw new Oauth2ClientException(self::INVALID_CLIENT_SECRET);
        }

        return true;
    }