2 Star 1 Fork 1

zakzou / liboauth2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

liboauth2

轻量级的python OAuth2客户端

安装

PIP

pip install liboauth2

Easy Install

easy_install liboauth2

用法

Demo for Tencent Weibo

# -*- coding: utf-8 -*-


import liboauth2
import urllib
from flask import Flask, redirect, request


CLIENT_ID = 'you client id'
CLIENT_SECRET = 'you client secret'

client = liboauth2.Client(CLIENT_ID, CLIENT_SECRET)


REDIRECT_URI = 'http://localhost:5000/callback/'
AUTH_URI = 'https://open.t.qq.com/cgi-bin/oauth2/authorize'
ACCESS_TOKEN_URL = 'https://open.t.qq.com/cgi-bin/oauth2/access_token'


app = Flask(__name__)
app.debug = True


@app.route('/')
def home():
    # get auth url
    url = client.get_auth_url(AUTH_URI, REDIRECT_URI)
    return redirect(url)


@app.route('/callback/')
def callback():
    # get access token
    params = {'code': request.args['code'], 'redirect_uri': REDIRECT_URI}
    resp = client.get_access_token(ACCESS_TOKEN_URL, liboauth2.GRANT_TYPE_AUTH_CODE, params)
    # print resp
    def urldecode(values):
        ret = {}
        for s in values.split('&'):
            if s.find('=') > -1:
                k, v = map(urllib.unquote, s.split('='))
                ret[k] = v
                #ret.setdefault(k, []).append(v)
        return ret
    data = urldecode(resp['result'])
    # set access token and query user info
    client.set_access_token(data['access_token'])
    params = {
            'oauth_consumer_key': CLIENT_ID,
            'openid': data['openid'],
            'clientip': request.remote_addr,
            'oauth_version': '2.a',
            }
    resp = client.fetch('http://open.t.qq.com/api/user/info', params)
    return str(resp['result'])


if __name__ == '__main__':
    app.run(host='localhost', port=5000)

空文件

简介

python oauth2 client 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/zakzou/liboauth2.git
git@gitee.com:zakzou/liboauth2.git
zakzou
liboauth2
liboauth2
master

搜索帮助