maven and jwt
以目前浅薄的理解,jwt就是一种加密token的手段,这个token也只有自己能解开,如果客户端以cookie存这个token,可能会存在cookie被窃取的情况。
另外,jwt这中加密方式因为有过期时间的参与(当前登陆时间+延迟时长),所以每次请求zull都要判断当前时间是否大于你的设置(这里可以造成多用户同一个账户同时登陆),如果大于了,解密出来的东西就和预期不符,就要重新登陆。所以有刷新token的机制存在,怎么刷?猜测就是客户端在token将死之前重新获取token呗(反正是无状态的,多发的。)。当然,如果你遇到只能一个账号单一在线的需要,刷token的方式我觉得是不可行的。
通过jwt我很快想通很多问题,大概都是隐约的猜测。比如单点登陆,web登陆了,手机也要登陆。刷验证码呗,其实就是请求了一个连接,这个连接推送消息给鉴权中心,发现已经登陆了,ok,推送给手机一个token,并告诉它,ok,你登陆吧。
---------
在做jwt时,因为考虑到复用性,把登陆单独提出来。登陆和zull鉴权就是单独的模块,但是他们都公用jwt工具类和user实体对象啊。抽象到common里。
怎么调取呢?mavne的pom里加上对common的引用就可以了。这里就想到了mavne可能把common打包成jar给登陆模块和鉴权模块引用了。懒得查的那么细致了。猜测了一下就打住了。
--------
springcloud的熔断php能不能实现呢?
我感觉行,比如做个网关,外部请求网关,网关调用内网接口,调用时要判断下超时时间。
springcloud的鉴权中心php能不能实现呢?
我感觉也行,jwt又不是限制在单一语言的标准,它适用与多种语言。
。。。。
--------
总感觉jwt比较重要,比如你做好一个jwt的鉴权中心当作网关做转发,那么另外一个项目就专心做业务好了。前面一个门神,后面一顿业务增删改查。。。
https://gitee.com/fleam/jwt
maven and jwt的更多相关文章
- spring security oauth2
https://connect.qq.com/manage.html#/ http://wiki.connect.qq.com/%E7%BD%91%E7%AB%99%E5%BA%94%E7%94%A8 ...
- IDEA SSM+MAVEN+JWT 图书管理系统
压缩包内含有MAVEN,TOMCAT,需要手动对IDEA进行配置.同时也包含数据库文件. 项目搭载了swagger,可以方便地对接口进行测试 在开发的过程中我也进行了一些记录,可以参考https:// ...
- Maven学习总结
转载至:http://www.cnblogs.com/xdp-gacl/p/3498271.html 一 入门 一.Maven的基本概念 Maven(翻译为"专家","内 ...
- Maven学习总结(一)——Maven入门——转载
一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1. ...
- Maven(一)
Maven学习总结(一)——Maven入门 一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的 ...
- maven入门
1.1.项目构建 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 项目构建过程包括 ...
- Maven学习(一)-- Maven入门
摘自:http://www.cnblogs.com/xdp-gacl/p/3498271.html 一.Maven的基本概念 Maven(翻译为"专家","内行" ...
- Java JWT: JSON Web Token
Java JWT: JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand libr ...
- 使用 JWT 生成 Token 代码示例
JSON Web Token,简称 JWT, 是一个开放的标准(RFC 7519),它定义了以一种紧凑的.自包含的 JSON 对象在各方之间安全传输信息的方式.该信息含有数字签名,可以被验证和信任. ...
随机推荐
- [CC-CMPVIRS]Computer Virus
[CC-CMPVIRS]Computer Virus 题目大意: 有一张纸带,从左到右被分成了\(n(n\le10^7)\)个格子,在刚开始,第\(i\)个格子上写着数字\(i\).这张纸带被分成了从 ...
- 原生CSS设置网站主题色—CSS变量赋值
定义CSS变量 在css文件顶部定义css变量,注意必须以--开头,使用:root包括这几个变量 :root { --main-bg-color: #ff7675; --color1: #fbfee9 ...
- 2. Spring 的 HelloWorld
初学Spring,就先来写一个 Spring 的 HelloWorld 吧 1. 首先,新建一个 java Project(因为暂时不需要网页,所以就不用创建 web 项目了) 2. 导入 Sprin ...
- sencha touch - sass 使用
需要安装: 1.ruby 2.sass (3.2.12 ) 3.compass (0.12.2) sencha cmd 4以上版本 安装的sass compass 必须为以上版本,否则编译会出错 目 ...
- 分布式环境中,模块数据交互协议分析 (百度brpc)
1. 背景 之前听到同事说,要为自己的模块考虑写个数据协议.今天有空想了一下.写出来,方便后续使用. 开源代码brpc中可以支持多种协议,nshead.redis.mongo等20多种协议. 2. 什 ...
- vue-cli使用sockjs即时通信
基于webSocket通信的库主要有 socket.io,SockJS,这次用的是 SockJS. 这里我们使用sockjs-client.stomjs这两个模块,要实现webSocket通信,需要后 ...
- ionic1页面切换动画卡顿优化
https://github.com/shprink/ionic-native-transitions https://www.npmjs.com/package/ionic-native-trans ...
- CAS 单点登录【2】自定义用户验证
基础不太熟的同学可以先去看:CAS 单点登录[1]入门 方案1:CAS默认的JDBC扩展方案: CAS自带了两种简单的通过JDBC方式验证用户的处理器. 1.QueryDatabaseAuthe ...
- PL/SQL学习笔记之事务
一:事务自动提交的开启与关闭 1)开启事务自动提交:则每一个INSERT,UPDATE或DELETE命令执行时,都提交一次事务. SET AUTOCOMMIT ON; 2)关闭事务自动提交:则执行到C ...
- java 线程间的通信 (wait / notify / notifyAll)
package waitnotifytest; import java.util.Collections; import java.util.List; import com.google.commo ...