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

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 不被未授权的用户访问。

相关文章:

  • Java程序员如何设计一个高并发系统?
  • Go 语言安装指南:并解决 `url.JoinPath` 及 `Exec format error` 问题
  • 全栈监控系统架构
  • 大白话解释蓝牙的RPC机制
  • LeetCode 2917.找出数组中的K-or值
  • Linux612 chroot_list开放;FTP服务ftp:get put,指定上传路径报错553;ftp查看文件夹权限
  • Vulkan学习笔记4—图形管线基础
  • ubuntu20.04 安装Mujoco 及 Isaac Gym 仿真器
  • 紫光展锐完成优化升级,支持Android 16,以科技创新共赴智能体验新篇章
  • 常见的测试工具及分类
  • 系统功耗管理
  • 从零搭建智能家居:香橙派+HomeAssistant实战指南
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 6】【Properties介绍】
  • Springboot仿抖音app开发之消息业务模块后端复盘及相关业务知识总结
  • php反序列化漏洞学习
  • [安卓按键精灵辅助工具]一些安卓端可以用的雷电模拟器adb命令
  • 关于安卓dialogFragment中,EditText无法删除文字的问题
  • Android NTP自动同步时间机制
  • 展开说说Android之Glide详解_使用篇
  • DRG支付场景模拟器扩展分析:技术实现与应用价值
  • 乐山沙湾区住房建设局网站/网上营销怎么做
  • 制作公众号的软件/搜索引擎优化规则
  • 网站如何备案icp备案/国内免费建网站
  • linux云搭建wordpress/seochinaz查询
  • 商丘行业网站建设开发公司/网络渠道有哪些
  • 如何查询注册过的网站/免费发布软文广告推广平台