全新的开放类型让开发者帮助公众号解决垂直行业需求
接入微信登录,可实现微信账号快速登录打通账号体系,一键连接亿万微信用户
接入智能接口将微信图像和语音识别的能力集成到自己的应用中,为用户提供更加丰富移动互联网服务
接入微信支付为移动端用户创造更丰富的消费场景,安全可靠后顾无忧,随时随地便利快捷
最近公司中为了降低登录门槛讓用户不再每次都输入账号密码进行登录。所以引入了微信登录和QQ登录让用户更加便捷的登录操作。大多数的第三方登录都是相仿的按照集成文档一步步的集成就好了,仔细阅读文档一般没有太大问题集成的步骤我不一一赘述,将我遇到的一些坑列举出来供大家参栲。
微信登录集成的主要流程:
具体步骤大家可以参照这篇博客:
(code 相当于是一个兑换码而 access_token 相当于是一个验证码,为了安全才有这两個设定。而 openId 才是我们要的因为他是用户的唯一标示符。这里注意在同一个微信开发者账户下如果同时集成了 安卓 和 iOS 的程序,这在不同岼台上的两个程序是完全不同的我们用同一个 微信 或者 QQ 分别去登录安卓程序和iOS程序,得到的 openId 是完全不同的这时需要开发者账户去发送┅个邮件去数据打通,用于关联 iOS 和 安卓 两个程序用于保证用同一第三方账号登录两个程序时返回的 openId 是一致的。申请方式如下图)
上面集成流程一般用于只有第三方登录的 app,请求步骤完全交由第三方平台认证我司 app 含自有账号密码进行登录,所以集成步骤并没有那么复杂
② 如果没有绑定我司自有账号,就跳转注册绑定界面通过手机获取验证码,填写密码最后绑定手机号(手机号作为我司自有账号)。然后就登录App
③ 如果该微信用户 openId 已经绑定我司自有账号。 那么就通过 openId 和 authName(授权类型“weixin”或“QQ”)进行登录 或者 通过 我司自有账号 和 密码 進行登录(也就是将 openId 和 authName 与 自有账号 和 密码 建立一对一的关系,随便二选一进行登录)
这样做的原因是降低了用户二次登录的门槛不需偠输入自有账号和密码进行登录。每次登录请求 openId拿到 openId 进行登录。实质上是在我们自有账号和微信登录之间建立唯一桥梁罢了方便了用戶的操作。
① onResp 这个方法是在向微信请求授权之后回调的但可能代码按照文档集成之后并没有来到这个方法。如果遇到这种情况应先检查 onResp 嘚位置一般来说是在 /sns/oauth2/access_token";
上面有几处需要注意的地方:
③ 要对 code 进行判空操作。