jwt判断token是否过期_搞懂 JWT 这个知识点

本文详细介绍了JWT(JSON Web Token)的工作原理,包括其Header、Payload和Signature的组成,以及JWT的校验过程。同时,对比了JWT与Session的有无状态特性,适合的使用场景,如邮箱验证、短期验证需求和跨域认证。此外,还提到了JWT的注意事项,如无法撤销已签发令牌、用户信息安全等问题,强调选择JWT时需结合业务场景。
摘要由CSDN通过智能技术生成

(给前端大全加星标,提升前端技能)

作者:程序员成长指北 公号 / koala

什么是 JWT

概念

JSON Web Token(简称 JWT)是目前最流行的跨域认证解决方案。

JWT 原理

JWT 组成

JWT 由三部分组成:Header,Payload,Signature 三个部分组成,并且最后由.拼接而成。

3b5186e5138243448cd5bc7596e1bec4.png
Header

Header 部分是一个 JSON 对象,描述 JWT 的元数据,通常是下面的样子。

{
    
"alg": "HS256",
"typ": "JWT"
}

上面代码中,alg 属性表示签名的算法(algorithm),默认是 HMAC SHA256(写成 HS256);typ 属性表示这个令牌(token)的类型(type),JWT 令牌统一写为 JWT。

最后将上面的 JSON 对象使用 Base64URL 算法转成字符串。

Payload

Payload 中由 Registered Claim 以及需要通信的数据组成。它也是 JSON 格式,另外这些数据字段也叫 Claim。JWT 规定了7个官方字段如下

iss (issuer):签发人
exp (expiration time):过期时间
sub (subject):主题
aud (audience):受众
nbf (Not Before):生效时间
iat (Issued At):签发时间
jti (JWT ID):编号

除了官方的字段外你也可以自定义一些字段,比如 user_id,name 等

Registered Claim 中比较重要的是 "exp" Claim 表示过期时间,在用户登录时会设置过期时间,用于后面过期校验。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值