Exemplo n.º 1
0
    def _give_access(self, html, opener):
        """
        Garant access to requested scopes
        """
        parser = FormParser()
        parser.feed(html.decode("utf-8"))
        parser.close()

        if not parser.form_parsed or parser.url is None:
            raise RuntimeError(
                "Something wrong with a parser. Unable parse VK application authorization form")

        r = opener.open(
            parser.url, urllib.parse.urlencode(parser.params).encode("utf-8"))

        return r.geturl()
Exemplo n.º 2
0
    def _auth_user(self, email, password, client_id, scope, opener):
        """
        Additional method for initial auth
        """
        response = opener.open(
            "https://oauth.vk.com/oauth/authorize?" +
            "redirect_uri=https://oauth.vk.com/blank.html&" +
            "response_type=token&" +
            "client_id={}&scope={}&display=mobile".format(client_id, ",".join(scope)))

        html = response.read().decode("utf-8")

        # Parse user authorization form
        parser = FormParser()
        parser.feed(html)
        parser.close()

        if not parser.form_parsed or parser.url is None \
                or "pass" not in parser.params or "email" not in parser.params:
            raise RuntimeError(
                "Something wrong with page. Unable parse VK authorization form")
        # Set forms parameters, need to be filled by user
        parser.params["email"] = email
        parser.params["pass"] = password

        # logging.debug(parser.method)
        # logging.debug(parser.params)
        # logging.debug(parser.url)
        r = opener.open(
            parser.url, urllib.parse.urlencode(parser.params).encode("utf-8"))

        return r.read(), r.geturl()
Exemplo n.º 3
0
def give_access(html, opener):
    parser = FormParser()
    parser.feed(str(html))
    parser.close()
    response = opener.open(parser.url,
                           urlencode(parser.params).encode("utf-8"))
    return response.geturl()
Exemplo n.º 4
0
def auth_user(email, password, app_id, scope, opener):
    response = opener.open(
        "https://oauth.vk.com/oauth/authorize?" + \
        "redirect_uri=https://oauth.vk.com/blank.html&response_type=token&" + \
        "client_id=%s&scope=%s&display=wap" % (app_id, ",".join(scope))
    )
    html = response.read()
    parser = FormParser()
    parser.feed(str(html))
    parser.close()
    parser.params["email"] = email
    parser.params["pass"] = password
    response = opener.open(parser.url,
                           urlencode(parser.params).encode("utf-8"))  # INPUT
    return response.read(), response.geturl()