JWT 认证机制

1. 了解 Session 认证的局限性

Session 认证机制需要配合 Cookie 才能实现 。由于 Cookie 默认不支持跨域访问,所以当涉及到前端跨域请求后端接口 的时候,需要做很多额外的配置,才能实现跨域 Session 认证

注意:

  1. 当前端请求后端接口不存在跨域问题 时,推荐使用 Session 身份认证机制

  2. 当前端需要跨域请求后端接口的时候,不推荐使用 Session 身份认证机制,推荐使用JWT认证机制

2. 什么是 JWT

JWT(英文全称:JSON Web Token)是目前最流行的跨域认证解决方案

3. JWT 工作原理

用户的信息通过 Token 字符串的形式,保存在客户端浏览器中,服务器通过还原 Token 字符串的形式来认证用户的身份

4. JWT 的组成部分

JWT 通常由三部分组成,分别是 Header (头部)、Payload (有效载荷)、Signature(签名)

三者之间使用英文的 ","分割,格式如下

bash 复制代码
Header.Payload.Signature

JWT字符串示例

5. JWT 的三个部分各自代表的含义

JWT的三个组成部分,从前到后分别是 Header、Payload、Signature

Payload 部分是真正的用户信息,是用户信息经过加密后生成的字符串

Header 和 Signature 是**安全性相关的部分,**只是为了保证 Token 的安全性

6. JWT 的使用方式

客户端收到服务器返回的 JWT 之后,通常会将它储存在 localStoragesessionStorage

此后,客户端每次与服务器通信,都要带上这个 JWT 的字符串,从而进行身份认证

推荐的做法就是:把 JWT 放在 HTTP请求头的 Authorization 字段中

bash 复制代码
Authorization: Bearer <token>
相关推荐
一只小阿乐1 天前
react 封装弹框组件 传递数据
前端·javascript·react.js
凡间客1 天前
Ansible安装与入门
linux·运维·ansible
君以思为故1 天前
认识Linux -- 进程概念
linux·服务器
_OP_CHEN1 天前
Linux网络编程:(八)GCC/G++ 编译器完全指南:从编译原理到实战优化,手把手教你玩转 C/C++ 编译
linux·运维·c++·编译和链接·gcc/g++·编译优化·静态链接与动态链接
阿乐艾官1 天前
【十一、Linux管理网络安全】
linux·运维·web安全
533_1 天前
[element-plus] el-tree 动态增加节点,删除节点
前端·javascript·vue.js
禁止摆烂_才浅1 天前
前端开发小技巧-【JavaScript】- 获取元素距离 document 顶部的距离
前端·javascript·react.js
wshzd1 天前
LLM之Agent(二十九)|LangChain 1.0核心组件介绍
前端·javascript·langchain
程序猿_极客1 天前
Vue 2脚手架从入门到实战核心知识点全解析(day6):从工程结构到高级通信(附代码讲解)
前端·javascript·vue.js·vue2学习笔记
q***71851 天前
海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
java·前端·spring boot