已有的互联网产品在接入小程序会面临一些和登录态相关的问题:怎么获取微信登录态;怎么把微信帐号和自己的帐号进行打通。我们来介绍一下如何把微信登录应用到你的小程序中。
我们先来看看微信登录的整个过程,如图所示。
微信登录的整个过程
我们来依次分解一下图中的七个步骤。
1 获取微信登录凭证code
首先说到登录,我们可能很正常地想到一个做法:通过wx.login直接拿到微信用户的id编号[5]https://developers.weixin.qq.com/ebook?action=get_post_info&docid=000cc48f96c5989b0086ddc7e56c0a#_ftn5,再把这个id传到自己的后台,从而知道是哪个微信用户在使用我的服务。而我们上述微信登录的流程中并不是通过wx.login直接获取微信用户的id,那直接获取微信用户id的做法有什么问题呢? 假设现在我们有个接口,通过wx.request请求 https://test.com/getUserInfo?id=1 拉取到微信用户id为1在我们业务侧的个人信息,那么黑客就可以通过遍历所有的id,把整个业务侧的个人信息数据全部拉走,如果我们还有其他接口也是依赖这样的方式去实现的话,那黑客就可以伪装成任意身份来操作任意账户下的数据,想想这给业务带来多大的安全风险。
为了