def get_oauth_token(config): global consumer global client global req_token consumer = oauth.Consumer(config.consumer_key, config.consumer_secret) client = oauth.Client(consumer) resp, content = client.request(config.request_token_url, "GET") if resp["status"] != "200": raise Exception(f"Invalid response {resp['status']}") request_token = dict(parse_qsl(content.decode("utf-8"))) req_token = RequestToken(**request_token)
def get_oauth_token(config): global consumer global client global req_token consumer = oauth.Consumer(config.consumer_key, config.consumer_secret) client = oauth.Client(consumer) resp, content = client.request(config.request_token_url, 'GEI') if resp['status'] != '200': raise Exception("Invalid response{}".format(resp['status'])) request_token = dict(parse_qsl(content.decode('utf-8'))) req_token = RequestToken(**request_token)
def oauth_authorize(request): """ Display a form that will allow/disallow user to authorize consumers. Requires the target user to login. """ try: user = request.user oauth_request, oauth_server = initialize_oauth(request) token = oauth_request.get_parameter("oauth_token") request_token = RequestToken.all().filter("token_key =", token).get() consumer = request_token.consumer oauth_request.set_parameter("oauth_consumer_key", consumer.consumer_key) token = oauth_server.fetch_request_token(oauth_request) return render_to_response("core/oauth/authorize.html", {"consumer": consumer, "token": token}) except OAuthError, e: logging.debug(e) logging.debug(e.message) return BadRequest(e.message)
def oauth_authorized(request): """ Authorize the consumer to access the user's protected resource. Redirect back to callback_url provided during app registration or during the request_token phase. """ try: oauth_request, oauth_server = initialize_oauth(request) user = request.user token = oauth_server.fetch_request_token(oauth_request) new_token = oauth_server.authorize_token(token, user) verifier = new_token.set_verifier() request_token = RequestToken.all().filter("token_key =", new_token.key).get() new_token.set_callback(request_token.consumer.callback_url) url = new_token.get_callback_url() return redirect("%s&%s" % (url, urllib.urlencode({"oauth_token": new_token.key}))) except OAuthError, e: logging.debug(e) logging.debug(e.message) return InternalServerError()
def test_request_token(request): oauth_token = request.values.get("oauth_token", None) request_token = RequestToken.all().filter("token_key =", oauth_token).get() token = OAuthToken(request_token.token_key, request_token.token_secret) return Response(token.to_string(), content_type="application/x-www-form-urlencoded")