小程序授权流程

2019-02-28  本文已影响0人  无名小码农

1.获取code

微信获取code的方式很简单,直接使用wx.login命令就可以返回code值。

2.将code传递给后台

然后就需要将获取到的code传递到后台

使用request来传递数据,这里的地址是我随便写的,8080后面的?code=+code是代表要传递的值,这个code就是我们在第一步获取到的code,当调用成功后在success中就可以返回一个值,

注意request中method方法默认为GET,在这里我改为post方法了。

3.后台返回数据,通过数据判断当前用户是否登录

第二步返回的值,在这一步中判断是session还是token,其中session代表用户未登录。token代表用户登录。

这里建议用户在第二步打印一下res.data的,看一下返回的值,我这里返回的res.data是一个对象SESSION_KEY,对象里面还有一个SESSION.KEY。

4.用户获取返回数据

然后我们就可以根据第三步中返回的值来确定做不同的事情:

如果返回token,那么用户就是已经授权过的,我们就直接获取用户信息

还是request请求,这里有一点注意的地方,就是将获取的token放到header中传递(我们后台是这样要求的,貌似也是应该这样操作),这里res.data就是获取到的数据了。

如果用户没有授权,这里就需要用户先授权,因为小程序改版的原因,必须用button按钮来写用户授权按钮

这里的open-tpye是用户授权的关键,bindGetUserInfo就是我们写在js中的方法。那么进行授权呢?

这里就会打印用户信息,一共五个,一般应该都是将后面三个有用。到这一步我们就完成了授权操作,这些值都是要传递给后台的。

传递给后台的值有五个个:session,rawData, signature, encyptedData, iv。

传递值的方式还是request。

这次的传递因为有五个值,所以将传递的数据写在data中了。data中wx.getStorageSync('key')是我将session做了缓存。

其他四个值就是授权中获取到的。传递方式是post,调用成功之后这里返回的值是token,我们需要保存这个token。

然后执行有token的方法,这样就获取到用户数据了。

这就是整个流程,这里贴一张后台同事发给我的流程图:

原文地址https://blog.csdn.net/qq_35394820/article/details/80469029

上一篇下一篇

猜你喜欢

热点阅读