当前位置: 首页 > backend >正文

JWT笔记

目录

  • 1.JWT简介
    • 2.JWT作用
    • 3.传统Session
    • 4.JWT的结构
    • 5.JWT的请求流程
  • 6.SpringBoot集成JWT

1.JWT简介

JWT(JSON web token),也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输,在数据传输过程中可以完成数据加密、签名等相关处理。

2.JWT作用

  • 授权:用户登录,后续请求包括JWT,从而允许用户访问该令牌允许的路由、服务和资源。
  • 信息交换:JWT是各方之间安全地传输信息的好方法,因为可以对JWT进行签名(例如:使用公钥/私钥)。由于签名是使用标头和有效负载计算的,因此可以验证用户内容。

3.传统Session

我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这就是传统的基于session认证。

4.JWT的结构

JWT是由一下三段信息构成的:

  • Header头部(包含签名或加密算法的类型)
  • Payload载荷(存放有效信息)
  • Signature(签名/签证)

将这三段信息文本用“.”连接一起就构成完成的JWT字符串,也是就我们需要的Token,如下所示:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0aW1lU3RhbXAiOjE2MzkwNDc1NTMxNjksInVzZXJSb2xlIjoiUk9MRV9BRE1JTiIsInVzZXJJZCI6ImFkbWluIn0.UFQLvaiQ1AThx9Fa4SRqNg-b9HPJ9y1TlgQB4-F3pi0

5.JWT的请求流程

    1. 客户端发起登录请求,传入账号密码;
    1. 服务端使用私钥创建一个Token;
    1. 服务器返回Token给客户端;
    1. 客户端向服务端发送请求,在请求头中该Token;
    1. 服务器验证该Token
  • 6.返回结果。
    在这里插入图片描述

6.SpringBoot集成JWT

<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.10.3</version>
</dependency>
  • 如何使用
http://www.xdnf.cn/news/8633.html

相关文章:

  • 如何进行Appium实现移动端UI自动化测试?
  • 解决 Supabase “permission denied for table XXX“ 错误
  • python模块管理环境变量
  • Kafka + Flink + Spark 构建实时数仓全链路实战
  • 如何评价OpenRouter这样的大模型API聚合平台?
  • AI硬件革命:OpenAI“伴侣设备”——从概念到亿级市场的生态重构
  • c++类与对象(二)
  • 您的浏览器不支持摄像头API—仙盟创梦IDE
  • 浅析Spring AOP 代理的生成机制
  • 为什么要使用线程池
  • 【概率论基本概念01】点估计
  • 《P3435 [POI 2006] OKR-Periods of Words》
  • 【Linux网络篇】:Socket网络套接字以及简单的UDP网络程序编写
  • 【Node.js】高级主题
  • 【Linux 学习计划】-- git 在Linux远端服务器上的部署与简单使用
  • LABVIEW 通过节点属性动态改变数值显示控件的方法
  • TypeScript入门到精通
  • 【Leetcode 每日一题】2942. 查找包含给定字符的单词
  • 机器学习算法-sklearn源起
  • 语音合成之十六 语音合成(TTS)跳跃与重复问题的解析:成因、机制及解决方案
  • Mac的显卡架构种类
  • 进程间通信I·匿名管道
  • 软考中级软件设计师全真题
  • Android中获取控件尺寸进阶方案
  • 【MySQL】06.内置函数
  • 机器学习第二十六讲:官方示例 → 跟着菜谱学做经典菜肴
  • spring boot 2.7集成旧的springfox-boot-starter swagger oas 3.0
  • 论文阅读笔记——Emerging Properties in Unified Multimodal Pretraining
  • 超全GPT-4o 风格提示词案例,持续更新中,附使用方式
  • 行为型:迭代器模式