Here are the examples of the python api oauth2.Request taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
8 Examples
3
Example 1
Project: sentry Source File: __init__.py
@classmethod
def refresh_token(cls, token):
request = Request(
cls.REFRESH_TOKEN_URL or cls.ACCESS_TOKEN_URL,
data=urlencode(cls.refresh_token_params(token)),
headers=cls.auth_headers()
)
return cls.process_refresh_token_response(dsa_urlopen(request).read())
3
Example 2
Project: bluemix-python-sample-twitter-influence-app Source File: appengine_oauth.py
Function: get_client
Function: get_client
def get_client(self, request=None):
"""Return the client from the OAuth parameters."""
if not isinstance(request, oauth.Request):
request = self.get_oauth_request()
client_key = request.get_parameter('oauth_consumer_key')
if not client_key:
raise Exception('Missing "oauth_consumer_key" parameter in ' \
'OAuth "Authorization" header')
client = models.Client.get_by_key_name(client_key)
if not client:
raise Exception('Client "%s" not found.' % client_key)
return client
0
Example 3
def auth_complete(self, *args, **kwargs):
"""Completes loging process, must return user instance"""
client_id, client_secret = self.get_key_and_secret()
params = {'grant_type': 'authorization_code', # request auth code
'code': self.data.get('code', ''), # server response code
'client_id': client_id,
'client_secret': client_secret,
'redirect_uri': self.redirect_uri}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
request = Request(self.ACCESS_TOKEN_URL, data=urlencode(params),
headers=headers)
try:
response = simplejson.loads(urlopen(request).read())
except (ValueError, KeyError):
raise ValueError('Unknown OAuth2 response type')
if response.get('error'):
error = response.get('error_description') or response.get('error')
raise ValueError('OAuth2 authentication failed: %s' % error)
else:
response.update(self.user_data(response['access_token']) or {})
kwargs.update({'response': response, self.AUTH_BACKEND.name: True})
return authenticate(*args, **kwargs)
0
Example 4
def post_multipart(self, url, params, files):
"""
Generates and issues a multipart request for data files
:param url: a string, the url you are requesting
:param params: a dict, a key-value of all the parameters
:param files: a list, the list of tuples for your data
:returns: a dict parsed from the JSON response
"""
#combine the parameters with the generated oauth params
params = dict(params.items() + self.generate_oauth_params().items())
faux_req = oauth.Request(method="POST", url=url, parameters=params)
faux_req.sign_request(oauth.SignatureMethod_HMAC_SHA1(), self.consumer, self.token)
params = dict(parse_qsl(faux_req.to_postdata()))
content_type, body = self.encode_multipart_formdata(params, files)
headers = {'Content-Type': content_type, 'Content-Length': str(len(body))}
#Do a bytearray of the body and everything seems ok
r = urllib2.Request(url, bytearray(body), headers)
content = urllib2.urlopen(r).read()
return self.json_parse(content)
0
Example 5
def sign_request(self, url, url_params={}):
oauth_request = oauth2.Request(
method="GET",
url=url,
parameters=url_params
)
oauth_request.update(
{
'oauth_nonce': oauth2.generate_nonce(),
'oauth_timestamp': oauth2.generate_timestamp(),
'oauth_token': self.token.key,
'oauth_consumer_key': self.consumer.key
}
)
oauth_request.sign_request(
oauth2.SignatureMethod_HMAC_SHA1(),
self.consumer,
self.token
)
return oauth_request.to_url()
0
Example 6
Project: sentry Source File: __init__.py
def auth_complete(self, *args, **kwargs):
"""Completes loging process, must return user instance"""
self.process_error(self.data)
params = self.auth_complete_params(self.validate_state())
request = Request(self.ACCESS_TOKEN_URL, data=urlencode(params),
headers=self.auth_headers())
try:
response = json.loads(dsa_urlopen(request).read())
except HTTPError as e:
if e.code == 400:
raise AuthCanceled(self)
else:
raise
except (ValueError, KeyError):
raise AuthUnknownError(self)
self.process_error(response)
return self.do_auth(response['access_token'], response=response,
*args, **kwargs)
0
Example 7
Project: sentry Source File: __init__.py
@classmethod
def revoke_token(cls, token, uid):
if not cls.REVOKE_TOKEN_URL:
return
url = cls.REVOKE_TOKEN_URL.format(token=token, uid=uid)
params = cls.revoke_token_params(token, uid) or {}
headers = cls.revoke_token_headers(token, uid) or {}
data = None
if cls.REVOKE_TOKEN_METHOD == 'GET':
url = '{}?{}'.format(url, urlencode(params))
else:
data = urlencode(params)
request = Request(url, data=data, headers=headers)
if cls.REVOKE_TOKEN_URL.lower() not in ('get', 'post'):
# Patch get_method to return the needed method
request.get_method = lambda: cls.REVOKE_TOKEN_METHOD
response = dsa_urlopen(request)
return cls.process_revoke_token_response(response)
0
Example 8
@staticmethod
def get_request(url=None, parameters=None):
return Request(url=url, parameters=parameters)