文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
微信 OAuth 网页授权接入
公众号 OAuth 网页授权接入
- class wechatpy.oauth.WeChatOAuth(app_id, secret, redirect_uri, scope='snsapi_base', state='')[源代码]
- class wechatpy.component.ComponentOAuth(app_id, component_appid=None, component_access_token=None, redirect_uri=None, scope='snsapi_base', state='', component=None)[源代码]
下述代码使用 Flask. 框架作为示例
from flask import Flask, request, redirect, jsonify, session, abort from wechatpy.enterprise 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 warpper(*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 warpper @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.enterprise.client.api.oauth.WeChatOAuth(client=None)[源代码]
- authorize_url(redirect_uri, state=None)[源代码]
构造网页授权链接 详情请参考 https://work.weixin.qq.com/api/doc
- 参数
redirect_uri – 授权后重定向的回调链接地址
state – 重定向后会带上 state 参数
- 返回
返回的 JSON 数据包
- get_user_info(code)[源代码]
获取访问用户身份 详情请参考 https://work.weixin.qq.com/api/doc
- 参数
code – 通过成员授权获取到的code
- 返回
返回的 JSON 数据包
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论