httpwebrequest 在header中添加token_java web中JWT验证原理

本文介绍了JSON Web Token (JWT) 的结构及其在用户认证中的应用。JWT由头部、载荷和签名三部分组成,并通过客户端和服务端之间的交互实现安全的数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fd53ed48a84beaaa965ad3760d772c2d.png

一、什么是JWT?

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息

JWT是什么样子的结构?

JSON Web Token说到底也是一个token字符串,它由三部分组成,头部、载荷与签名。

如下图 红色的为Header,指定token类型与签名类型,紫色的为载荷(playload),存储用户id等关键信息,最后蓝色的为签名,保证整个信息的完整性,可靠性.

头部(Header)

header(头部),头部信息主要包括(参数的类型--JWT,签名的算法--HS256)

载荷(playload)

poyload(负荷),负荷基本就是自己想要存放的信息

签名(Signature)

sign(签名),签名的作用就是为了防止恶意篡改数据

如下图 Header,指定token类型与签名类型载荷(playload),存储用户id等关键信息,最后为签名,保证整个信息的完整性,可靠性.

fbe5db440cf77a983cc97329015d8464.png

认证过程

下面我们从一个实例来看如何运用JWT机制实现认证:

先上个官方文档的图

5d032541c03392550b21ec4539a89cd1.png

流程如下:

客户端使用账户密码请求登录接口

登录成功后服务器使用签名密钥生成JWT ,然后返回JWT给客户端

客户端再次向服务端请求其他接口时带上JWT

服务端接收到JWT后验证签名的有效性.对客户端做出相应的响应

对Token认证的五点认识

对Token认证机制有5点直接注意的地方:

  • 一个Token就是一些信息的集合;
  • 在Token中包含足够多的信息,以便在后续请求中减少查询数据库的几率;
  • 服务端需要对cookie和HTTP Authrorization Header进行Token信息的检查;
  • 基于上一点,你可以用一套token认证代码来面对浏览器类客户端和非浏览器类客户端;
  • 因为token是被签名的,所以我们可以认为一个可以解码认证通过的token是由我们系统发放的,其中带的信息是合法有效的;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值