美文网首页
小程序授权流程

小程序授权流程

作者: 无名小码农 | 来源:发表于2019-02-28 10:03 被阅读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

    相关文章

      网友评论

          本文标题:小程序授权流程

          本文链接:https://www.haomeiwen.com/subject/oqocuqtx.html