【微信】第三方登录接口流程 (2)

【微信】第三方登录接口流程

【微信】第三方登录接口流程

错误返回样例:{"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字段作用?

答:如果第三方觉得微信团队提供的默认样式与自己的页面样式不匹配,可以自己提供样式文件来覆盖默认样式。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxpjx.html