微信登录介绍:
微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。
准备工作:在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。
创建网站应用在创建网站应用快要完成的时候会设置一个返回域,此域要跟代码的返回地址一致(授权回调域最好写一级域名)。
提交审核,等待获取到APPID和AppSecret接入流程示意图:
代码操作示例:流程示意图:
第一步:请求CODE第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接:
注:若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。
参数说明 返回说明用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数
第二步:通过code获取access_token通过code获取access_token:
参数说明 返回说明错误返回样例:{"errcode":40029,"errmsg":"invalid code"}
刷新access_token有效期access_token是调用授权关系接口的调用凭证,由于access_token有效期(目前为2个小时)较短,当access_token超时后,可以使用refresh_token进行刷新,access_token刷新结果有两种:
refresh_token拥有较长的有效期(30天),当refresh_token失效的后,需要用户重新授权。
请求方法获取第一步的code后,请求以下链接进行refresh_token:
参数说明 返回说明正确的返回: