码迷,mamicode.com
首页 > 其他好文 > 详细

公众号一键登录授权给第三方平台方的技术流程

时间:2015-07-15 09:35:04      阅读:1530      评论:0      收藏:0      [点我收藏+]

标签:平台   授权   

技术分享

总体流程

1、用户进入第三方平台方网站
一般而言,用户需要先进入第三方平台方网站,如www.ABC.com
2、第三方平台方获取预授权码
预授权码是第三方平台方实现授权托管的必备信息
3、发布后修改和覆盖现网
第三方平台方可以在自己的网站首页中放置“微信公众号登录授权”的入口,引导公众号运营者进入第三方平台授权页。网址为https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx,该网址中第三方平台方需要提供第三方平台方appid、预授权码和回调URI
4、用户确认并同意登录授权给第三方平台方
用户进入第三方平台授权页后,需要确认并同意将自己的公众号登录授权给第三方平台方,完成授权流程。
5、授权后回调URI,得到授权码和过期时间
授权流程完成后,会进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)
6、利用授权码调用用户公众号的相关API
在得到授权码后,第三方平台方可以使用授权码换取授权公众号的授权信息,再通过公众号授权信息调用公众号相关API(能调用哪些API,取决于用户将哪些权限集授权给了第三方平台方)。

一键授权相关配置

登录授权

1:登录授权的发起页域名:指公众号在登录授权给第三方平台方时的授权回调域名,在公众号进行登录授权流程中,必须从本域名内网页跳转到登录授权页,才可完成登录授权。授权成功后会回调授权时提供的URI,公众平台会检查URI,必须保证URI所属域名与服务申请时提供的授权域名保持一致。请注意,域名不需带有“http://”等协议内容,也不能在域名末尾附加详细目录,严格按照类似www.qq.com的写法。
2:发起授权页的体验URL:用于审核人员前往授权页体验,确认流程可用性。在提交全网发布时,务必保证该URL可直接体验。全网发布之前,该项可先填为发起页域名

3:授权测试公众号列表:在全网发布之前,仅该列表内公众号才可进行授权,以便测试。请填写公众号的原始ID(可在公众平台网站的公众号设置页找到),最多10个,以英文“;”隔开。
4:授权事件接收URL:用于接收取消授权通知(当授权方公众号取消时推送。此外,授权成功不另行通知,开发者需在授权成功后回调时自行记录),也用于接收ticket,ticket是验证服务方的重要凭据,服务方在获取component_access_token时需要提供最新推送的ticket以供验证身份合法性。此ticket作为验证服务方的重要凭据,请妥善保存。

授权后代替公众号实现业务

公众号消息校验Token: 开发者在代替公众号接收到消息时,用此Token来校验消息。用法与普通公众号token一致

公众号消息加解密Key: 在代替公众号收发消息过程中使用。必须是长度为43位的字符串,只能是字母和数字。用法与普通公众号symmetric_key一致

公众号消息与事件接收URL:该URL用于接收已授权公众号的消息和事件,消息内容、消息格式、签名方式、加密方式与普通公众号接收的一致,唯一区别在于签名token和加密symmetric_key使用的是服务方申请时所填写的信息。由于消息具体内容不会变更,故根据消息内容里的ToUserName,服务方是可以区分出具体消息所属的公众号。另外,考虑到服务需要接收大量的授权公众号的消息,为了便于做业务分流和业务隔离,必须提供如下形式的url:www.abc.com/aaa/APPID/bbb/cgi,其中APPID在实际推送时会替换成所属的已授权公众号的appid。

网页开发域名:网页开发域名最多可以填写3个,每个以英文“;”符号隔开。每个网页开发域名会产生2个效果(请注意,勿域名不需带有“http://”等协议内容,也不能在域名末尾附加详细目录):
1、在该域名和符合要求的下级域名内,可以代替旗下授权后公众号发起网页授权。下级域名必须是APPID.wx.abc.com的形式(APPID为公众号的AppID的替换符,建议第三方用这种方式,若需可做域名映射),如果不按这种形式来做,旗下公众号违规将可能导致整个网站被封。
2、在该域名(一级域名)内,可以代替旗下授权后公众号调用JS SDK(需要配合公众号的AppID)

相关问题:

1、为什么公众号第三方平台需要进行测试和全网发布?
开发者在创建完公众号第三方平台之后,并不是立刻就需要将第三方平台给所有公众号使用,而是必须预先自行通过测试公众号
(测试公众号在创建第三方平台时可以设置)来完成第三方平台的测试,测试通过后,再提交全网发布,以确保普通的公众号运
营者使用的公众号第三方平台都是基本可用的。
2、如何做到无需公众号设置繁琐参数?
只要公众号确认授权托管给了第三方平台,第三方平台方就可以代替公众号进行消息回复、网页授权等相应业务能力,第三方平
台方代替完成业务过程中,是依靠第三方平台自身的开发参数设置来完成的,不涉及公众号自身的设置。
3、订阅号、服务号、企业号的授权流程有什么区别?
订阅号、服务号可以进行登录授权的,都可以被公众号第三方平台开发者服务。但是需要注意,第三方平台在代替公众号完成业
务时,需要公众号自身已有相关权限,换句话说,订阅号在缺少某些接口权限的情况下,第三方平台依旧不能代替其实现。企业
号由于接口权限与服务号、订阅号不同,暂不完全支持登录授权。

版权声明:本文为博主原创文章,未经博主允许不得转载。

公众号一键登录授权给第三方平台方的技术流程

标签:平台   授权   

原文地址:http://blog.csdn.net/u013628152/article/details/46885303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!