TP6--微信小程序授权登录

一、基本思路

    1. 用户第一次进入小程序点击微信小程序授权,点击确认后->前端传三个值:code,iv,encryptedData.

    2. code用于获取session_key

    3.通过session_key,iv,encryptedData获取用户信息,此时已经拿到用户openid.

    4.通过用户信息,创建用户token。token作为标明用户信息,下次再来小程序可以不需要授权登录。

二、思路的细节

    1.对于第一步,用户点击确认授权后。这时调用后台接口。这是一个跨域请求,所以接口路由需要加入跨域中间件。


    从前端获取三个值后,进入第二步

    2. 由code获取session_key。


首先用到了composer安装的插件,这里面的路由访问涉及到了容器注入,(目前还不是很懂。。。)


    找到sns类后看到下面的代码

    可以看到这里调用了微信的接口。方法的参数是我们从前端获取的code.可以看到要返回session_key还需要appid和appsecret。

3.通过session_key,iv,encryptedData获取用户信息,此时已经拿到用户openid.


这个函数目前也是看不懂。。点进去后面也用到了容器注入和composer安装的插件(留个坑,后面来填),目前只知道通过这个函数$userInfo中便有了openid

4.有了openid后,我们小程序便可以辨明用户身份的唯一性啦。把用户的信息和openid等存入数据库中。接下来用这个openid来创建用户登录的令牌token


$user中已经有了openid,$type为用户登录类型。有了令牌token后,用户下次再进入我们的小程序就不需要再次授权登录了。

你可能感兴趣的:(TP6--微信小程序授权登录)