微信 OAuth 网页授权接入#
公众号 OAuth 网页授权接入#
- class wechatpy.oauth.WeChatOAuth(app_id, secret, redirect_uri, scope='snsapi_base', state='')[源代码]#
微信公众平台 OAuth 网页授权
- property authorize_url#
获取授权跳转地址
- 返回
URL 地址
- check_access_token(openid=None, access_token=None)[源代码]#
检查 access_token 有效性
- 参数
openid – 可选,微信 openid,默认获取当前授权用户信息
access_token – 可选,access_token,默认使用当前授权用户的 access_token
- 返回
有效返回 True,否则 False
- get_user_info(openid=None, access_token=None, lang='zh_CN')[源代码]#
获取用户信息
- 参数
openid – 可选,微信 openid,默认获取当前授权用户信息
access_token – 可选,access_token,默认使用当前授权用户的 access_token
lang – 可选,语言偏好, 默认为
zh_CN
- 返回
JSON 数据包
- property qrconnect_url#
生成扫码登录地址
- 返回
URL 地址
微信开放平台 代公众号 OAuth 网页授权接入#
- class wechatpy.component.ComponentOAuth(component, app_id)[源代码]#
微信开放平台 代公众号 OAuth 网页授权
- get_authorize_url(redirect_uri, scope='snsapi_base', state='')[源代码]#
- 参数
redirect_uri – 重定向地址,需要urlencode,这里填写的应是服务开发方的回调地址
scope – 可选,微信公众号 OAuth2 scope,默认为
snsapi_base
state – 可选,重定向后会带上state参数,开发者可以填写任意参数值,最多128字节
企业微信 OAuth 网页授权接入#
下述代码使用 Flask. 框架作为示例
from flask import Flask, request, redirect, jsonify, session, abort
from wechatpy.work import WeChatClient
import functools
app = Flask(__name__)
CORP_ID = 'wxc480d56d906bc121'
SECRET = '79BAUPuQ0zcytpz7f5vouAFPwnWDK0XePjKeWsY7Wo-cpAZvYYAy0OH-PH0-6OUN'
app.secret_key = 'key'
client = WeChatClient(
CORP_ID,
SECRET
)
def oauth(method):
@functools.wraps(method)
def wrapper(*args, **kwargs):
code = request.args.get('code', None)
url = client.oauth.authorize_url(request.url)
if code:
try:
user_info = client.oauth.get_user_info(code)
except Exception as e:
print e.errmsg, e.errcode
# 这里需要处理请求里包含的 code 无效的情况
abort(403)
else:
session['user_info'] = user_info
else:
return redirect(url)
return method(*args, **kwargs)
return wrapper
@app.route('/')
@oauth
def index():
user_info = session.get('user_info')
return jsonify(data=user_info)
if __name__ == '__main__':
app.run(
debug=True,
port=9000,
)
- class wechatpy.work.client.api.oauth.WeChatOAuth(client=None)[源代码]#
- authorize_url(redirect_uri, state=None)[源代码]#
构造网页授权链接 详情请参考 https://work.weixin.qq.com/api/doc#90000/90135/91022
- 参数
redirect_uri – 授权后重定向的回调链接地址
state – 重定向后会带上 state 参数
- 返回
返回的 JSON 数据包
- get_user_info(code)[源代码]#
获取访问用户身份 详情请参考 https://work.weixin.qq.com/api/doc#90000/90135/91023
- 参数
code – 通过成员授权获取到的code
- 返回
返回的 JSON 数据包