网站微信登录-python 实现
最近我们的网站要加微信登录功能,找了python sdk 感觉都不满意,然后就参考instagram python sdk 自己造了轮子。 轮子 github 地址 python-weixin 根据需求选择相应的登录方式 微信现在提供两种登录接入方式 移动应用微信登录 网站应用微信登录 HUGOMORE42 这里我们使用的是网站应用微信登录 按照 官方流程 注册并通过开放平台开发者资质认证 注册微信开放平台帐号后,在帐号中心中填写开发者资质认证申请,并等待认证通过。 创建网站应用 通过填写网站应用名称、简介和图标,以及各平台下载地址等资料,创建网站应用 接入微信登录 在资源中心查阅网站应用开发文档,开发接入微信登陆功能,让用户可使用微信登录你的网站应用 如果已经完成上面的操作,请继续往下看 微信网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为: 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数; 通过code参数加上AppID和AppSecret等,通过API换取access_token; 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。 获取access_token 时序图 具体流程请参考官方文档,我们这里只说一下python的实现方法。官方文档地址 点这里 参考python-instagram 我写了一个 [python-weixin] (https://github.com/gusibi/python-weixin)一个微信python SDK 不过现在还只有微信接入、获取用户信息、 刷新refresh_token 等简单功能 安装 方法一 手动安装 首先 需要把代码clone到本地 python setup.py install 方法二 pip install pip install git+https://github.com/gusibi/python-weixin.git@master 使用方式 from weixin.client import WeixinAPI APP_ID = 'your app id' APP_SECRET = 'your app secret' REDIRECT_URI = 'http://your_domain.com/redirect_uri' # 这里一定要注意 地址一定要加上http/https scope = ("snsapi_login", ) api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI) authorize_url = api.get_authorize_url(scope=scope) 现在将 authorize_url地址(如 http://yoursite.com/login/weixin)在浏览器打开, 将跳转到微信登录页面,使用手机扫码登录后将跳转到 ...