一、token的组成
一个token分3部分,按顺序为
1.头部(header)
头部承载两部分信息:
1.1声明类型,这里是Jwt
1.2声明加密的算法 通常直接使用 HMAC SHA256
2.载荷(payload)
2.1标准中注册的声明的数据;
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。
2.2自定义数据。 key-value
3.签证(signature)
base64加密后的header和base64加密后的payload连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了Jwt的第三部分。
header.payload.signature 三部分之间由.分隔
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxYzdiY2IzMS02ODFlLTRlZGYtYmU3Yy0wOTlkODAzM2VkY2UiLCJleHAiOjE1Njk3Mjc4OTF9.wweMzyB3tSQK34Jmez36MmC5xpUh15Ni3vOV_SGCzJ8
JWTString=Base64(Header).Base64(Payload).HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload),secret)
二. 在spring_security中的应用
2.1 认证通过,使用user的id生成一个jwt 调用createJWT时候仅需要传id、【过期时间】
把jwt响应给前端
2.2 JwtAuthenticationTokenFilter 过滤器

三.前端发请求携带token
JWT详解及Spring Security应用
本文介绍了JWT(JSON Web Token)的组成部分,包括头部、载荷和签证,并详细解释了各部分的功能。此外,还提供了JWT在Spring Security框架中的具体应用实例。

500

被折叠的 条评论
为什么被折叠?



