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

WEB JWT

一、什么是JWT
JWT(JSON Web Token)是一种用于在网络应用之间安全传递信息的开放标准。它使用 JSON 格式来定义一种紧凑的、自包含的数据结构,其中包含了用户身份验证和授权所需的信息。

二、JWT的结构
JWT 由三部分组成,使用点号 “.” 分隔,分别为 Header、Payload 和 Signature。

三、交互过程
在这里插入图片描述

签名(JWT) = Base64(Header).Base64(Payload).Base64(Signature)
Signature = Encrypt(Base64(Header).Base64(Payload), key)
Base64是编码算法,不是加密算法

四、JWT的优点
相比于传统的 cookie 和 session,JWT 有以下优点:

跨域支持:JWT 可以在跨域情况下使用,因为它可以通过 HTTP 头部进行传递。
无状态:JWT 不需要在服务端存储会话信息,因为 JWT 包含了所有必要的信息,可以直接从 JWT 中解码。
安全性:JWT 可以使用对称密钥或公钥/私钥对进行签名,以确保它们不会被篡改或伪造。
Header
Header 部分通常由两部分组成:令牌的类型(即 JWT)和所使用的算法(例如 HMAC SHA256 或 RSA)。

Payload
Payload 包含了所需的信息,包括用户身份、授权和其他元数据。Payload 可以包含自定义的键值对,也有一些预定义的键(例如“sub”表示主题,“exp”表示过期时间)。

Signature
Signature 是将 Header 和 Payload 进行加密后生成的签名,用于验证令牌是否被篡改过。

五、JWT的应用
JWT 通常用于在客户端和服务器之间传递身份验证信息,例如在登录后将 JWT 发送回服务器以进行后续请求的身份验证。以下是 JWT 的常见应用场景:

单点登录(SSO):用户只需要登录一次,就可以在多个应用中使用同一个 JWT 进行身份验证,从而实现单点登录。
微服务架构:在使用微服务架构时,JWT 可以在服务之间传递用户身份验证信息。
API 认证:使用 JWT 可以轻松地对 API 进行认证和授权,以保护 API 不被未授权的用户访问。

http://www.xdnf.cn/news/13603.html

相关文章:

  • java复习 09
  • 【开源工具】:基于PyQt5的智能网络驱动器映射工具开发全流程(附源码)
  • WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088
  • 计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 1. 摄像机几何
  • 2025最新软件测试八股文,查漏补缺(含答案+文档)
  • Spring Cloud Gateway 介绍
  • 离线部署openstack 2024.1 neutron
  • 离线部署openstack 2024.1 keystone
  • AI Agent 的架构与技术体系分析
  • 新能源知识库(40)一个省的综合电价由哪些因素决定?
  • C++ call_once用法
  • 基础知识:抽象类成员变量的继承与使用
  • Web APIS Day04
  • BlogX项目数据库读写分离AI面试题
  • 海外打车代驾app多语言切换模块设计
  • CentOs7.x系列IP地址由动态改静态(解决远程连接掉线问题)
  • 字符串|数组|计算常见函数整理-竞赛专用(从比赛真题中总结的,持续更新中)
  • 7.Vue的compute计算属性
  • atomicity of memory accesses
  • 【知识图谱构建系列1】数据集介绍
  • 本地docker部署的dify,不用git命令如何无损升级?
  • Vue3前端项目Docker容器化部署工作报告
  • 【算法 day01】LeetCode 704二分查找 | 27移除元素 | 977有序数组的平方
  • 【电力物联网】SDN架构与工作原理介绍
  • ospfOSPF特殊区域及其他特性
  • Unicode:如何让用户东方不败和[Family: Man, Woman, Girl, Boy]顺利通过用户名长度检查?
  • 【Linux指南】文件系统基础操作与路径管理
  • 爬虫+动态代理助力 AI 训练数据采集
  • [未验证]abaqus2022 更改内置python
  • 选择与方法(4) 职场内篇 沿着赤道走,到不了北极,找准职场方向,建立可迁移技能