需求: JWT泄露.密码重置等场景下,需要将未过期但是已经不安全的JWT主动失效. 本文不再复述JWT的基础知识,不了解的小伙伴可以自行Google一下.这里主要是针对以上需求聊一聊解决方案.如果服务端发给客户端的JWT还在有效期内,但是变得不安全,服务端需要及时将这些JWT标识出来并作废掉.相较于session机制,服务端对JWT的控制要弱很多.JWT一旦签发,就脱离了服务端的掌控.通常情况下,服务端只能通过设置JWT的过期时间“exp”声明,使得JWT在过期后被动失效. 正所谓鱼与熊掌不可兼…
需求场景: 微服务之间调用接口一次性上传多个文件. 上传文件的同时附带其他参数. 多个文件能有效的区分开,以便进行不同处理. Spring cloud的微服务之间接口调用使用Feign.原装的Feign不支持文件的传输.需要借助“Feign-form”库才行.但是貌似“Feign-form”库(至少是3.0.3版本)只支持单文件上传.在接口中使用多文件参数时会报异常: feign.codec.EncodeException: class [Lorg.springframework.web.mul…
“spring cloud”的配置中心工具“spring cloud config”提供了分布式系统配置文件集中管理解决方案.该工具功能强大,实现也很简单.网上可以搜索到很多开发教程和用例.本文并不是分享“spring cloud config”的开发方法,而是想聊一聊它的使用. 任何一个工具不管多么强大和便利,如果用的不好,也达不到期望的效果.拿到“spring cloud config”后,我期望基于这个工具构建的配置文件管理系统能够实现: 微服务中各个实例的配置项都集中在配置中心.运维人员…
需求: 需要将一些敏感信息保存在JWT中,以便提高业务处理效率. 众所周知JWT协议RFC7519使用Base64Url对Header和Payload的Json字符串进行编解码.A JWT is represented as a sequence of URL-safe parts separated by period ('.') characters. Each part contains a base64url-encoded value. 不幸地的是Base64Url编码方式不是加密手段…
需求场景: 用户调用微服务1的接口上传一组图片和对应的描述信息.微服务1处理后,再将这组图片上传给微服务2进行处理.各个微服务能区分开不同的图片进行不同处理. 上一篇博客已经讨论了在微服务之间传递一组图片和对应参数的解决方案.现在来看看如何对组内文件进行区分.当前项目中使用了“commons-fileupload”和“feign-form”两个库进行文件传输. “commons-fileupload”库可以将http request转换成“MultipartHttpServletRequest”…
一. 前言 本篇实战案例基于 youlai-mall 项目.项目使用的是当前主流和最新版本的技术和解决方案,自己不会太多华丽的言辞去描述,只希望能勾起大家对编程的一点喜欢.所以有兴趣的朋友可以进入 github | 码云了解下项目明细 ,有兴趣也可以一起研发和进步. 微服务通过整合 Spirng Cloud Gateway.Spring Security OAuth2.JWT 实现微服务的统一认证授权.其中Spring Cloud Gateway作为OAuth2客户端,其他微服务提供资源服务给网…
一. 前言 在上一篇文章介绍 youlai-mall 项目中,通过整合Spring Cloud Gateway.Spring Security OAuth2.JWT等技术实现了微服务下统一认证授权平台的搭建.最后在文末留下一个值得思考问题,就是如何在注销.修改密码.修改权限场景下让JWT失效?所以在这篇文章来对方案和实现进行补充.想亲身体验的小伙伴们可以了解下 youlai-mall 项目和Spring Cloud实战系列往期文章. youlai-mall项目地址 Spring Cloud实战系…
一. 前言 记得上一篇Spring Cloud的文章关于如何使JWT失效进行了理论结合代码实践的说明,想当然的以为那篇会是基于Spring Cloud统一认证架构系列的最终篇.但关于JWT另外还有一个热议的话题是JWT续期?. 本篇就个人觉得比较好的JWT续期方案以及落地和大家分享一下,算是抛转引玉,大家有好的方案欢迎留言哈. 后端 Spring Cloud实战 | 第一篇:Windows搭建Nacos服务 Spring Cloud实战 | 第二篇:Spring Cloud整合Nacos实现注册…
目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 测试服务熔断 4. 利用turbine监控所有应用 4.1 创建工程 4.2 修改配置文件 4.3 修改启动文件 4.4 启动 5.一点点重要的事情 1.环境介绍 本篇文章涉及到前面文章的工程,mirco-service-provider.mirco-service-consumer以及需要另外新建…
本文完整代码下载点击 一. 前言 相信了解过我或者看过我之前的系列文章应该多少知道点我写这些文章包括创建 有来商城youlai-mall 这个项目的目的,想给那些真的想提升自己或者迷茫的人(包括自己--一个工作6年觉得一无是处的菜鸟)提供一块上升的基石.项目是真的从无到有(往期文章佐证),且使用当前主流的开发模式(微服务+前后端分离),最新主流的技术栈(Spring Boot+ Spring Cloud +Spring Cloud Alibaba + Vue),最流行的统一安全认证授权(OAut…