skip to navigation
skip to content

requests-oauthlib 0.6.1

OAuthlib authentication support for Requests.

This project provides first-class OAuth library support for Requests.

The OAuth 1 workflow

OAuth 1 can seem overly complicated and it sure has its quirks. Luckily, requests_oauthlib hides most of these and let you focus at the task at hand.

Accessing protected resources using requests_oauthlib is as simple as:

>>> from requests_oauthlib import OAuth1Session
>>> twitter = OAuth1Session('client_key',
                            client_secret='client_secret',
                            resource_owner_key='resource_owner_key',
                            resource_owner_secret='resource_owner_secret')
>>> url = 'https://api.twitter.com/1/account/settings.json'
>>> r = twitter.get(url)

Before accessing resources you will need to obtain a few credentials from your provider (i.e. Twitter) and authorization from the user for whom you wish to retrieve resources for. You can read all about this in the full OAuth 1 workflow guide on RTD.

The OAuth 2 workflow

OAuth 2 is generally simpler than OAuth 1 but comes in more flavours. The most common being the Authorization Code Grant, also known as the WebApplication flow.

Fetching a protected resource after obtaining an access token can be extremely simple. However, before accessing resources you will need to obtain a few credentials from your provider (i.e. Google) and authorization from the user for whom you wish to retrieve resources for. You can read all about this in the full OAuth 2 workflow guide on RTD.

Installation

To install requests and requests_oauthlib you can use pip:

$ pip install requests requests_oauthlib

History

v0.6.1 (19 February 2016)

  • Fixed a bug when sending authorization in headers with no username and password present.
  • Make sure we clear the session token before obtaining a new one.
  • Some improvements to the Slack compliance fix.
  • Avoid timing problems around token refresh.
  • Allow passing arbitrary arguments to requests when calling fetch_request_token and fetch_access_token.

v0.6.0 (14 December 2015)

  • Add compliance fix for Slack.
  • Add compliance fix for Mailchimp.
  • TokenRequestDenied exceptions now carry the entire response, not just the status code.
  • Pass through keyword arguments when refreshing tokens automatically.
  • Send authorization in headers, not just body, to maximize compatibility.
  • More getters/setters available for OAuth2 session client values.
  • Allow sending custom headers when refreshing tokens, and set some defaults.

v0.5.0 (4 May 2015)

  • Fix TypeError being raised instead of TokenMissing error.
  • Raise requests exceptions on 4XX and 5XX responses in the OAuth2 flow.
  • Avoid AttributeError when initializing the OAuth2Session class without complete client information.

v0.4.2

  • New authorized property on OAuth1Session and OAuth2Session, which allows you to easily determine if the session is already authorized with OAuth tokens or not.
  • New TokenMissing and VerifierMissing exception classes for OAuth1Session: this will make it easier to catch and identify these exceptions.

v0.4.1 (6 June 2014)

  • New install target [rsa] for people using OAuth1 RSA-SHA1 signature method.
  • Fixed bug in OAuth2 where supplied state param was not used in auth url.
  • OAuth2 HTTPS checking can be disabled by setting environment variable OAUTHLIB_INSECURE_TRANSPORT.
  • OAuth1 now re-authorize upon redirects.
  • OAuth1 token fetching now raise a detailed error message when the response body is incorrectly encoded or the request was denied.
  • Added support for custom OAuth1 clients.
  • OAuth2 compliance fix for Sina Weibo.
  • Multiple fixes to facebook compliance fix.
  • Compliance fixes now re-encode body properly as bytes in Python 3.
  • Logging now properly done under requests_oauthlib namespace instead of piggybacking on oauthlib namespace.
  • Logging introduced for OAuth1 auth and session.

v0.4.0 (29 September 2013)

  • OAuth1Session methods only return unicode strings. #55.
  • Renamed requests_oauthlib.core to requests_oauthlib.oauth1_auth for consistency. #79.
  • Added Facebook compliance fix and access_token_response hook to OAuth2Session. #63.
  • Added LinkedIn compliance fix.
  • Added refresh_token_response compliance hook, invoked before parsing the refresh token.
  • Correctly limit compliance hooks to running only once!
  • Content type guessing should only be done when no content type is given
  • OAuth1 now updates r.headers instead of replacing it with non case insensitive dict
  • Remove last use of Response.content (in OAuth1Session). #44.
  • State param can now be supplied in OAuth2Session.authorize_url
 
File Type Py Version Uploaded on Size
requests-oauthlib-0.6.1.tar.gz (md5) Source 2016-02-19 74KB
requests_oauthlib-0.6.1-py2.py3-none-any.whl (md5) Python Wheel 2.7 2016-02-19 21KB
  • Downloads (All Versions):
  • 0 downloads in the last day
  • 46 downloads in the last week
  • 161815 downloads in the last month