2023年7月4日发(作者:)
python实现⽹站微信登录的⽰例代码最近微信登录开放公测,为了⽅便微信⽤户使⽤,我们的产品也决定加上微信登录功能,然后就有了这篇笔记。根据需求选择相应的登录⽅式python实现⽹站微信登录的⽰例代码微信现在提供两种登录接⼊⽅式移动应⽤微信登录⽹站应⽤微信登录这⾥我们使⽤的是⽹站应⽤微信登录按照1 注册并通过开放平台开发者资质认证注册微信开放平台帐号后,在帐号中⼼中填写开发者资质认证申请,并等待认证通过。2 创建⽹站应⽤通过填写⽹站应⽤名称、简介和图标,以及各平台下载地址等资料,创建⽹站应⽤3 接⼊微信登录在资源中⼼查阅⽹站应⽤开发⽂档,开发接⼊微信登陆功能,让⽤户可使⽤微信登录你的⽹站应⽤如果已经完成上⾯的操作,请继续往下看微信⽹站应⽤微信登录是基于构建的微信OAuth2.0授权登录系统。微信OAuth2.0授权登录⽬前⽀持authorization_code模式,适⽤于拥有server端的应⽤授权。该模式整体流程为:1. 第三⽅发起微信授权登录请求,微信⽤户允许授权第三⽅应⽤后,微信会拉起应⽤或重定向到第三⽅⽹站,并且带上授权临时票据code参数;2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;3. 通过access_token进⾏接⼝调⽤,获取⽤户基本数据资源或帮助⽤户实现基本操作。具体流程请参考官⽅⽂档,我们这⾥只说⼀下python的实现⽅法。官⽅⽂档地址不过现在还只有微信接⼊、获取⽤户信息、 刷新refresh_token 等简单功能⾸先 需要把代码clone到本地然后执⾏python install使⽤⽅式⾮常简单from import WeixinAPIAPP_ID = 'your app id'APP_SECRET = 'your app secret'REDIRECT_URI = 'your_/redirect_uri' # 这⾥⼀定要注意 地址⼀定要加上http/httpsscope = ("snsapi_login", )api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI)authorize_url = _authorize_url(scope=scope)现在将现在我们就可以使⽤code 来获取登录的 access_tokenaccess_token = ge_code_for_access_token(code=code)access_token 信息为{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN","openid":"OPENID",
"scope":"SCOPE"
}参数说明access_token接⼝调⽤凭证(有效期⽬前为2个⼩时)expires_inaccess_token接⼝调⽤凭证超时时间,单位(秒)refresh_token⽤户刷新access_token(有效期⽬前为30天)openid授权⽤户唯⼀标识scope⽤户授权的作⽤域,使⽤逗号(,)分隔获取access_token后,就可以进⾏接⼝调⽤,有以下前提:1. access_token有效且未超时;2. 微信⽤户已授权给第三⽅应⽤帐号相应接⼝作⽤域(scope)。对于接⼝作⽤域(scope),能调⽤的接⼝有以下:授权作⽤域(scope)snsapi_basesnsapi_userinfo接⼝接⼝说明/sns/oauth2/access_token通过code换取access_token、refresh_token和已授权scope/sns/oauth2/refresh_token刷新或续期access_token使⽤/sns/auth检查access_token有效性/sns/userinfo获取⽤户个⼈信息api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI)# 刷新或续期access_token使⽤refresh_token = ge_refresh_token_for_access_token(refresh_token=auth_info['refresh_token'])api = WeixinAPI(access_token=auth_info['access_token'])# 获取⽤户个⼈信息user = (openid=auth_info['openid'])# 检查access_token有效性v = te_token(openid=auth_info['openid'])现在就微信登录就完成了下⾯是⽤ flask 实现的完整的例⼦from flask import Flaskfrom flask import Markupfrom flask import redirectfrom flask import requestfrom flask import jsonifyfrom import WeixinAPIfrom 2 import OAuth2AuthExchangeErrorapp = Flask(__name__)APP_ID = 'appid'APP_SECRET = 'app secret'REDIRECT_URI = '/authorization'@("/authorization")def authorization(): code = ('code') api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI) auth_info = ge_code_for_access_token(code=code) api = WeixinAPI(access_token=auth_info['access_token']) resp = (openid=auth_info['openid']) return jsonify(resp)@("/login")def login(): api = WeixinAPI(appid=APP_ID, app_secret=APP_SECRET, redirect_uri=REDIRECT_URI) redirect_uri = _authorize_login_url(scope=("snsapi_login",)) return redirect(redirect_uri)@("/")def hello(): return Markup('weixin login!') % '/login'if __name__ == "__main__": (debug=True)参考链接: 以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688436435a137569.html
评论列表(0条)