小程序token有效期_记 小程序 access_token 的保存解决方案
【小程序token有效期_记 小程序 access_token 的保存解决方案】最近开发小程序,有一个功能是分享页面,因为回来的页面是要带参数点,便决定使用生成小程序码来解决这个功能,先看官方的说明文档: 我使用的是第二种方式,目前这种方式生成小程序码数量不受限制!
这个借口的一个参数是要用的 access_token 的,但是 access_token 是有有效期到,同样官方文档也建议我们:1、建议公众号开发者使用中控服务器统一获取和刷新Access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致access_token覆盖而影响业务;
同时我使用的是小程序的 wafer2-node-sdk 解决方案,这个是基于 Koa2 来实现的,写接口什么的也比较顺利,但是竟然没找到全局变量的功能,然后网上搜,有说用数据库的,缓存的,我不想这么一个简单的功能就用这个呀,所以我开始走上了弯路:
1.第一个版本使用 json 文件来存储,搭配定时器来实现,但是第一次可以用,但是再以后却开始 token 过期了.不解:后来意外的发现,因为我是用 require('./**/**.json') 的方式引入的 json 文件,这样带来一个问题,json 发生变化是,那个实例并不会发生改变,导致取到的永远是第一次加载时的值.
2.没办法,只有上 redis 了,一开始感觉一个简单的功能没必要,其实用 redis 也比较方便,服务器使用的 CentOS,然后yum install redis -y 就可以了,然后搭配 redis 库, 配合 expire 存储,也实现了功能,同时使用 schedule-node 来执行定时刷新,我设置的刷新频率是一个小时一次,刚开始还不错,可是用完还是会报过期.懵逼中.
3.无意中搜到一篇文章,简直是救命稻草:原文找不到了,意思是同一个 AppID 在其他地方请求时也会导致过期,我擦,因为我在本地也有开发环境,也会定时请求,赶紧把本地的请求关闭,同时线上开启了一个获取 access_token 的接口,本地要用都从这个接口获取,几天下来,总算解决了问题.同时使用 node_env 来判断线上还是本地,避免认为导致的错误.
希望对大家有帮助.
推荐阅读
- 投稿|汪小菲的“七滋八味”:大S离场,张兰卖力吆喝
- Spring认证指南(了解如何以最少的配置构建应用程序)
- 小胖学Linux day15(用户管理2)
- 小胖学Linux day14(用户管理)
- 登录令牌JWT一文详解 — JSON WEB TOKEN#yyds干货盘点#
- win7系统设置虚拟内存 玩游戏中关村Win7出错虚拟内存太小怎样办
- win7系统程序反应慢 大地Win7 系统程序反应慢、假死的处理步骤
- Nginx反向代理web程序解决谷歌跨越问题配置详解 #yyds干货盘点#
- 机器视觉系统|【机器视觉运动控制一体机小课堂】三分钟进行图像拼接
- java基于GUI实现简单画笔小画板