a simple, lightweight oauth client
Project description
oauth2py
a simple, lightweight oauth client
require
python 2.7
supported
[x] Weibo
[x] QQ
[x] Facebook
[x] Github
[x] Twitter
[ ] Other…
useage
create client
put oauth2py.json in your app root folder
[{ "name": "github", "client_id": "", "client_secret": "", "redirect_uri": "", "scope": "" }, { "name": "twitter", "client_id": "", "client_secret": "", "redirect_uri": "", "scope": "" }]
from oauth2py.client import OauthClient as oauth github = oauth.load('github')
or set config in code
github.init({ 'client_id': '', 'client_secret': '', 'redirect_uri': '', 'scope': '' })
oauth
get login url
url = github.get_login_url(state='abc')
get user info
user = github.get_user_info('code=12345&state=abc') # or user = github.get_user_info({'code': '12345', 'state': 'abc'})
save access token
token = github.get_access_token() # save token ...
access resource
get github repo list
github.set_access_token({ 'access_token': '...' }) github.access_resource( 'GET', 'https://api.github.com/user/repos')
another example: post status to twitter
twitter.set_access_token({ 'access_token': '...', 'access_token_secret': '...' } ) twitter.access_resource( 'POST', url='https://api.twitter.com/1.1/statuses/update.json', data={ 'status': 'test from oauth2py!' } )
implement new providers
inherit oauth2py.Oauth2 or oauth2py.Oauth and set oauth urls
class Github(Oauth2): NAME = 'Github' AUTHORIZATION_URL = 'https://github.com/login/oauth/authorize' ACCESS_TOKEN_URL = 'https://github.com/login/oauth/access_token' GET_USERINFO_URL = 'https://api.github.com/user' def __init__(self): super(Github, self).__init__()
parse user info from response
def parse_user_info(self, response): return { 'uid': str(response.get('id')), 'name': response.get('name'), 'avatar': response.get('avatar_url'), 'raw': response }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
oauth2py-1.1.4.tar.gz
(5.5 kB
view hashes)