搜搜吧

搜搜吧 门户 教程 电脑网络 查看内容

代公众号发起网页授权说明

2015-3-15 18:35| 发布者: 优化大师| 查看: 14222| 评论: 1

摘要: 在公众号授权托管给第三方平台后,第三方平台可以根据本文档相关说明,代替授权公众号发起网页授权。关于OAuth2.0的详细介绍,可以参考OAuth2.0协议标准作为第三方平台开发商,需要拥有自己的appid以及secret(在创 ...

在公众号授权托管给第三方平台后,第三方平台可以根据本文档相关说明,代替授权公众号发起网页授权。关于OAuth2.0的详细介绍,可以参考OAuth2.0协议标准

作为第三方平台开发商,需要拥有自己的appid以及secret(在创建第三方平台并获得审核成功后可以获取),以及确保授权的公众号具备授权作用域的权限,以及用于回调的域名。

授权流程

微信目前支持Authorization code授权模式,主要流程分为两步:

  1. 1. 获取code

  2. 2. 通过code换取accesstoken

流程图:

第一步:请求CODE

请求方法

在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(一般而言,已微信认证的服务号拥有snsapi_base和snsapi_userinfo),使用微信客户端打开以下链接(严格按照以下格式,包括顺序和大小写,并请将参数替换为实际内容):

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE&component_appid=component_appid#wechat_redirect   

若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

参数说明
参数是否必须说明
appid公众号的appid
redirect_uri重定向地址,需要urlencode,这里填写的应是服务开发方的回调地址
response_type填code
scope授权作用域,拥有多个作用域用逗号(,)分隔
state重定向后会带上state参数,开发者可以填写任意参数值,最多128字节
component_appid服务方的appid,在申请创建公众号服务成功后,可在公众号服务详情页找到
返回说明

用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code, state以及appid

redirect_uri?code=CODE&state=STATE&appid=APPID   

若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数

redirect_uri?state=STATE   

第二步:通过code换取access_token

请求方法

获取第一步的code后,请求以下链接获取access_token:

https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=APPID&code=CODE&grant_type=authorization_code&component_appid=COMPONENT_APPID&component_access_token=COMPONENT_ACCESS_TOKEN   

需要注意的是,由于安全方面的考虑,对访问该链接的客户端有IP白名单的要求。

参数说明
参数是否必须说明
appid公众号的appid
code填写第一步获取的code参数
grant_type填authorization_code
component_appid服务开发方的appid
component_access_token服务开发方的access_token
返回说明

正确的返回:

{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
   

参数说明
access_token接口调用凭证
expires_inaccess_token接口调用凭证超时时间,单位(秒)
refresh_token用户刷新access_token
openid授权用户唯一标识
scope用户授权的作用域,使用逗号(,)分隔

错误返回样例:

{"errcode":40029,"errmsg":"invalid code"}   

刷新access_token

由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(30天),当refresh_token失效的后,需要用户重新授权。

请求方法

获取第一步的code后,请求以下链接获取access_token:

https://api.weixin.qq.com/sns/oauth2/component/refresh_token?appid=APPID&grant_type=refresh_token&component_appid=COMPONENT_APPID&component_access_token=COMPONENT_ACCESS_TOKEN&refresh_token=REFRESH_TOKEN   

参数说明
参数是否必须说明
appid公众号的appid
grant_type填refresh_token
refresh_token填写通过access_token获取到的refresh_token参数
component_appid服务开发商的appid
component_access_token服务开发方的access_token
返回说明

正确的返回:

{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
   

参数说明
access_token接口调用凭证
expires_inaccess_token接口调用凭证超时时间,单位(秒)
refresh_token用户刷新access_token
openid授权用户唯一标识
scope用户授权的作用域,使用逗号(,)分隔

错误返回样例::

{"errcode":40029,"errmsg":"invalid code"}

搜搜吧社区温馨提示:
搜搜吧(www.sosoba.org)十分重视网络版权及其他知识产权的保护,针对网络侵权采取如下版权政策:
1、本站有理由相信网友侵犯任何人的版权或作品,(图文,文字,下载,视频,非法传播),本站有权不事先通知即删除涉嫌侵权的作品和内容!
2、本站将采取必要的网络技术手段,确认为侵权作品或内容的用户有权进行警告、屏蔽、删除的行为,尽可能的防止侵权行为的发生!
3、如若您的作品或内容在搜搜吧被侵权,请及时联系我们并提供能证明版权所有的物品,我们将及时进行处理,给您造成不便,敬请谅解!
4、搜搜吧删帖,投诉,举报,侵权,账号解封唯一指定快速受理频道,请直接发送邮件到 kefu-sosoba@qq.com 一个工作日内核实并邮件通知立即删除

鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

引用 企服城 2017-4-6 09:28
学习了,正在尝试中

查看全部评论(1)

资讯分类

推荐图文

文章排行

Powered by www.sosoba.org X3.4© 2013-2019 搜搜吧社区 小黑屋|手机版|地图|关于我们|新闻资讯|soso搜搜吧社区官网
搜搜吧社区官网创建于2013年07月23日,本站内容均为会员发表,并不代搜搜吧社区立场,请遵守当地相关法律,客服邮箱: kefu-sosoba@qq.com
本站所有的内容均来自互联网以及第三方作者自由发布、本站soso搜搜吧不承担任何的法律责任、若有侵权请来信告知,我们在收到举报后的一个工作日内立即删除
推荐使用:chrmoe谷歌浏览器,搜狗浏览器,QQ浏览器,360极速浏览器,360安全浏览器,猎豹浏览器,火狐浏览器,世界之窗,百度浏览器,Safari浏览器,ios,Android

GMT+8, 2018-12-14 06:07 , Processed in 1.140625 second(s), 20 queries , Gzip On.

返回顶部