导航菜单

SpringBoot2.0 整合 JWT 框架,解决Token跨域验证问题

ag真人线上开户

1.认证过程

1.用户向服务器发送用户名和密码。

2.验证服务器后,相关数据将保存在当前会话中。

3.服务器返回sessionId并写入客户端cookie。

4.每次客户端请求时,都需要通过cookie将sessionId发送回服务器。

5.服务器接收sessionId并验证客户端。

2,有问题

1,会话保存在服务器端,当客户端访问高并发时,服务器处于压力之下。

2,可扩展性差,服务器集群,需要会话数据共享。

JWT(全称:JSON Web Token),在基于HTTP的通信过程中,进行身份认证。

1.认证过程

1.客户端通过用户名和密码登录服务器;

2.服务器验证客户端的身份;

3.在对服务器进行身份验证后,生成JSON对象并将其发送回客户端;

4.当客户端与服务器通信时,它必须发送回此JSON对象;

5.服务器解析JSON对象以获取用户的身份;

6,服务器无法存储JSON(Token)对象,可以解析身份信息。

2. JWT结构描述

拿一个新鲜的令牌。

{

'msg':'验证成功',

'code': 200,

'token':'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9。

eyJzdWIiOiJhZG1pbiIsImlhdCI6iZEIj3fQ。

uEJSJagJf1j7A55Wwr1bGsB5YQoAyz5rbFtF'

}

上面的令牌被手动格式化了,实际上是用 '' 分隔的一个完整的长字符串。

JWT结构

1,头部(header)声明类型以及加密算法;

2,负载(payload)携带一些用户身份信息;

签名(签名)签名信息。

3,JWT使用方式

通常推荐的做法是客户端在HTTP请求的头信息授权字段里面。

授权:承载

服务端获取JWT方式

String token=request.getHeader('token');

如图1所示,核心依赖文件

io.jsonwebtoken

jjwt

0.7.0

2,配置文件

服务器:

端口: 7009

春天:

XX

申请表:

名称: ware-jwt-token

配置:

Jwt:

#encryption key

秘密: iwqjhda8232bjgh432 [cicada-smile]

#tokeneffective duration

过期: 3600

#header name

标头:标记

3,JWT配置代码块