错误返回样例:{"errcode":40030,"errmsg":"invalid refresh_token"}
注意:1、Appsecret 是应用接口使用密钥,泄漏后将可能导致应用数据泄漏、应用的用户数据泄漏等高风险后果;存储在客户端,极有可能被恶意窃取(如反编译获取Appsecret);
2、access_token 为用户授权第三方应用发起接口调用的凭证(相当于用户登录态),存储在客户端,可能出现恶意获取access_token 后导致的用户数据泄漏、用户微信相关接口功能被恶意发起等行为;
3、refresh_token 为用户授权第三方应用的长效凭证,仅用于刷新access_token,但泄漏后相当于access_token 泄漏,风险同上。
第三步:通过access_token调用接口获取access_token后,进行接口调用,有以下前提:
对于接口作用域(scope),能调用的接口有以下:
附加二维码登录代码示例: 步骤1:在页面中先引入如下JS文件(支持https): 步骤2:在需要使用微信登录的地方实例以下JS对象:注:引入代码前要有占位容器来进行显示
参数说明参数
是否必须
说明
id
是
第三方页面显示二维码的容器id
appid
是
应用唯一标识,在微信开放平台提交应用审核通过后获得
scope
是
应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可
redirect_uri
是
重定向地址,需要进行UrlEncode
state
否
用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
style
否
提供"black"、"white"可选,默认为黑色文字描述。详见FAQ
href
否
自定义样式链接,第三方可根据实际需求覆盖默认样式。详见FAQ
F.A.Q 1. 什么是授权临时票据(code)?
答:第三方通过code进行获取access_token的时候需要用到,code的超时时间为10分钟,一个code只能成功换取一次access_token即失效。code的临时性和一次保障了微信授权登录的安全性。第三方可通过使用https和state参数,进一步加强自身授权登录的安全性。
2. 什么是授权作用域(scope)?答:授权作用域(scope)代表用户授权给第三方的接口权限,第三方应用需要向微信开放平台申请使用相应scope的权限后,使用文档所述方式让用户进行授权,经过用户授权,获取到相应access_token后方可对接口进行调用。
3. 网站内嵌二维码微信登录JS代码中style字段作用?答:第三方页面颜色风格可能为浅色调或者深色调,若第三方页面为浅色背景,style字段应提供"black"值(或者不提供,black为默认值),则对应的微信登录文字样式为黑色。
4.网站内嵌二维码微信登录JS代码中href字段作用?答:如果第三方觉得微信团队提供的默认样式与自己的页面样式不匹配,可以自己提供样式文件来覆盖默认样式。