微信客户端授权登录开始邀请第三方应用内测了,我们虽然是个创业团队,但很幸运的成为了该功能的早期内测用户,经过半年多的试用,积累了不少的经验和教训,分享出来,希望对大家有所帮助。
微信授权登录的优势有哪些?
1. 数亿微信用户直接登录, 免去繁琐注册流程。
2. 支持获取用户基本信息,免去用户填写个人资料的烦恼,并且内容真实可靠。
一个iOS应用使用微信授权登录的过程应该是怎样的?
申请微信授权登录→微信sdk接入→多应用账号打通→提交AppStore审核→上线
为什么提交AppStore审核也列入了这个过程?
因为这里坑最多,我们一开始缺乏经验,足足在这步浪费了差不多两个月的宝贵时间!
下面,我们就按照这个过程,逐一进行介绍。
第一步:申请微信授权登录
微信授权登录的申请条件?
只要应用已经获得了微信支付的权限,就可以提交申请。
具体怎么申请,官方有很详细的介绍,这也不是本文的重点,所以就直接略过了。附上微信开放平台的地址:https://open.weixin.qq.com/
在这里要重点指出的是:
1. 客户端的授权登录是在微信开放平台申请的。
2. web端的授权登录除了要在微信开放平台申请外,还要申请微信公众平台的服务号并完成认证,获取高级接口的访问权限。
修正:微信的伙伴们反馈了最新的进展,web端的授权登录现在可以不用公众号了。
第二步:微信sdk接入
如果你的申请被通过,会得到一个包含有微信授权登录的SDK包,这个包同时也包含了基础的分享功能。具体的接入方法,微信会在SDK包中提供详细的说明文档,按照文档进行接入即可。
在这里要重点指出的是:
1. 授权成功后返回的OpenID仅仅是应用内唯一标识,同一用户在不同应用进行授权,返回的OpenID是不一样的!
2. 即使是同一个应用,同一个用户在移动应用授权登录和在web应用授权登录,返回的OpenID也是不一样的!
OpenID都不一样,那我的产品是一系列应用,想统一账号怎么办?
别急,继续往下看,微信已经提供了解决方案的。
第三步:多应用打账号打通
如果你们的产品是一个系列应用,又或者同时有移动应用和web应用,那么按照微信的规定,每个应用都必须在开放平台进行登记和审核(需要绑定包名,所以不能多个应用使用同一个签名),这也就意味着这些应用每个都是独立的应用!前面说过,这样会导致这一系列应用当用户授权后,返回的OpenID都不一样,无法唯一标识用户!这时就需要使用UnionID机制来解决这个问题。