Get user_key based on either his email and password or unique_id.

        :param    cloudflare_email: email associated with user
        :type     cloudflare_email: str
        :param    cloudflare_pass: pass associated with user
        :type     cloudflare_pass: str
        :param    unique_id:        unique id associated with user
        :type     unique_id:        str

        :returns:
        :rtype:   dict

def user_auth(
        self,
        cloudflare_email=None,
        cloudflare_pass=None,
        unique_id=None
            ):
        """
        Get user_key based on either his email and password or unique_id.

        :param    cloudflare_email: email associated with user
        :type     cloudflare_email: str
        :param    cloudflare_pass: pass associated with user
        :type     cloudflare_pass: str
        :param    unique_id:        unique id associated with user
        :type     unique_id:        str

        :returns:
        :rtype:   dict
        """
        if not (cloudflare_email and cloudflare_pass) and not unique_id:
            raise KeyError(
                'Either cloudflare_email and cloudflare_pass or unique_id must be present')
        params = {'act': 'user_auth'}
        if cloudflare_email and cloudflare_pass:
            params['cloudflare_email'] = cloudflare_email
            params['cloudflare_pass'] = cloudflare_pass
        if unique_id:
            params['unique_id'] = unique_id

        return self._request(params)