此处以保存用户授权access_token为例,接口调用access_token可在项目启动时进行缓存。部分代码如下:

@Autowired

private RedisTemplate redisTemplate;

@Value("${myapp.redisWxUserAccessToken}")

private String redisWxUserAccessToken;

// 获取

public String getUserAccessToken(Object userId) {

String accessToken = null;

if(StringUtils.isEmpty(userId)) return accessToken;

String accessTokenStr = (String) redisTemplate.opsForHash().get(redisWxUserAccessToken, String.valueOf(userId));

long now = (new Date()).getTime();

if(!StringUtils.isEmpty(accessTokenStr)) {

String[] arr = accessTokenStr.split("#");

if(now < Long.valueOf(arr[1])) {

accessToken = arr[0];

}

}

if(StringUtils.isEmpty(accessToken)) {

accessToken = getUserAccessTokenByRefreshToken(userId);

}

return accessToken;

}

// 重新获取

Object expiresIn = accessTokenMap.get("expires_in"); // 调用微信授权接口后,返回的expires_in参数

String value = accessTokenNew + "#" + getNowExpiresIn(expiresIn); // 此处是设置有效期

redisTemplate.opsForHash().put(redisWxUserAccessToken, String.valueOf(userId), value);

public Long getNowExpiresIn(Object expiresIn) {

long now = (new Date()).getTime();

if(expiresIn == null) return now;

Long expiresMs = Long.valueOf(String.valueOf(expiresIn)) - 15 * 60;

return expiresMs * 1000 + now;

}

refreshtoken用mysql_微信access_token和refresh_token保存于redis相关推荐

  1. 微信公众平台开发之微信access_token如何有效长期保存

    随着微信使用越来越广泛,微信公众平台开放了许多接口以提供更多个性化的服务,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等,开发者在调用这些接口时,都需要传入一个相同的参数ac ...

  2. java单例模式保存微信access_token

    微信access_token 是有时间限制的 每天获取的次数是有限的 所有我们要保存获取到的access_token ,在快要过期的时候在重新获取. 官方文档:https://mp.weixin.qq ...

  3. php定时刷新token,PHP 定时任务获取微信access_token的简单示例

    搜索热词 感兴趣PHP 定时任务获取微信access_token的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. 最近开发微信公众平台,公众号调用各接口时都需使用access_ ...

  4. 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器

    微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...

  5. 微信jssdk ajax 获取签名,【Golang版】微信access_token、jsapi_ticket、signature签名算法生成示例,开箱即用...

    # WXToken 项目地址:[https://github.com/henson/WXToken](https://github.com/henson/WXToken) 因为手上有一个项目需要用到微 ...

  6. 既生瑜何生亮 access_token VS refresh_token

    中国有句老话, 既生瑜何生亮, 既然有我周瑜在世, 为什么老天还要一个诸葛亮啊? 同样的, 众所周知, 在 OAuth 2.0 授权协议中, 也有两个令牌 token , 分别是 access_tok ...

  7. 【PC工具】更新微信语音转mp3保存备份方法及工具,微信语音备份方法,silk转mp3工具...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 210605更新蓝奏云下载连接. 不知道蓝奏云抽啥风,感觉像是域名到期被别人给抢注了. ...

  8. 【PC工具】微信语音转mp3保存备份方法及工具,微信语音备份方法,silk转mp3工具...

    微信是大家常用的通信工具,有些聊天记录的语音是我们想要长期保存或转发给其他人的.今天介绍一下微信语音的备份保存方法. 收藏的方法方法很简单,长按语音点击收藏就可以了,以后想听可以在"我&qu ...

  9. 微信长按网页保存为截图

    本文是我处理问题时看到的一篇博客,感觉很详细,所以保存了, 原文地址 H5项目中的一个重要功能需求:实现微信长按网页保存为截图. 这里有个栗子(请用微信打开,长按图片即可保存):3分钟探索你的知识边界 ...

最新文章

  1. Cisco对中国CCIE认证下重手了
  2. QT的QQmlPropertyMap类的使用
  3. Eclipse+Maven创建webapp项目一
  4. 互联网核心应用(搜索/推荐/广告)算法峰会
  5. 2.10.PHP7.1 狐教程-【PHP 函数】
  6. C# 计算程序运行耗时的方法
  7. Arcgis学习视频
  8. 2022鹏城杯CTF---Crypto wp
  9. 【bat】bat批处理安装与卸载软件,自动安装
  10. 计算机如何安装无线网络适配器,小编教你电脑无线网卡驱动怎么安装
  11. SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法 详细出处参考:http://www.jb51.net/article/19233.htm
  12. 工业相机的镜头接口知识介绍
  13. javascript 数据类型与类型转换
  14. miui10android系统耗电,小米声势浩大的MIUI10 系统升级只是更换个主题并且更加耗电?...
  15. 互联网日报 | 新浪同意被私有化;吉利汽车科创板首发过会;滴滴货运日单量持续破10万...
  16. python-test1
  17. 跳表是个好东西你值得拥有!
  18. 微服务架构Day04-SpringBoot之web开发配置
  19. Proxmox VE 7.2 备份恢复虚拟机
  20. JAVA小项目(1)——租车系统

热门文章

  1. mega5安装包_[MEGA DEAL] 2017年完全Java捆绑包(95%折扣)
  2. apache ignite_使用Apache Storm和Apache Ignite进行复杂事件处理(CEP)
  3. lambda设计模式_使用lambda的装饰器设计模式
  4. 1.0jpa 2.0_JPA 2.1如何成为新的EJB 2.0
  5. Spring Boot删除嵌入式Tomcat服务器,启用Jetty服务器
  6. J2Pay –实施网关
  7. 使用AWS Lambda在Go中构建RESTful API
  8. 首选System.lineSeparator()以用Java编写系统相关的行分隔符字符串
  9. Java向后不兼容历史的观察
  10. 带有API网关的AWS Lambda