E企盈营销工具技术服务商 热线:4006-838-530

微信小程序之token机制及TP5文件缓存Cache

E企盈直播平台营销卖货系统

微信小程序token机制我们平时在web端的开发的时候经常是用的SESSION和COOKIE机制,然后挪到移动端的时候,大家会发现SESSION和COOKIE用不成了,每次请求接口没有通过浏览器,SESSION都变了,不一致。 所以我们开发小程序后台的时候就需要采用这样一个token机制,用来表示用户的身份,有一些类似于sessionid,用户通过登录后,生成一个token表明这个身份,每次请求接口的时候带上token来保持用户身份的一致性。还有就是token也要保证用户的唯一性,不能说小明和小红的token因为某种巧合一致了,这样就出现了逻辑上的bug。 那么现在引申出两个问题1.我们采用什么样的策略让他达到唯一?2.我们使用token的时候把它存在什么地方? 接下来演示一下token的创建过程,其中就有我们采用的策略。这是我们写的一个用户登录时,后台生成token并返回的一个方法,因为这个token机制是要适用于微信小程序的登录功能的,所以我们要结合微信小程序的登录步骤。所以我们规定在方法中需要传入一个微信小程序登录那一块生成的一个code码,然后微信小程序是提供了一个接口通过这个码去获取微信内部用户唯一标示openidAPI地址:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html可以看到这里我们又调用了一个usertoken的类在类里面我们有一个构造方法,然后我们将我们微信那边获取的code码传入,通过config助手函数获取到我们的APPID和secret,然后通过sprintf函数拼凑出最终我们想要的接口url。在上一步的函数里面我们使用了这个类下面的一个get方法:我们是首先先去获取到那个微信接口返回的结果然后把结果给到红框中的方法这个方法首先会将openid存进数据库然后取到这条用户的主键id,然后我们够着一个唯一的token 好的,到这里,我们的第一个问题就来了:我们采用的策略是 32位随机数+时间错+salt 最后进行一个md5生成了token令牌之后,我们的第二个问题就来了,我们的token是存在什么地方的。 我是存在缓存中,当然我们可以存在redis这样的缓存中,不过我们这里图了个方便直接使用TP5提供的文件缓存十分的好用。 TP5文件缓存Cache我们设置一个key值和一个value值存进缓存,在缓存存活时间内我们使用key就可以获取到value,然后以上就是缓存的一个建立的过程。 现在我们有了token和用户的id,那么我们就将token设为Cache的key,用户的id设为value,然后每次前端请求接口的时候只要给我们token,我们就可以获取到用户的id并且拿到他的信息。 通过token获取用户id:ok,简单token机制到这里结束。

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序之token机制及TP5文件缓存Cache
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏