用户登录权限校验 JWT【详解】

news2024/12/26 11:29:09

JWT (json web token)是当前最流行的用户登录权限校验(用户认证鉴权)方案。
官网 https://jwt.io/

JWT 的工作流程

在这里插入图片描述

  1. 客户端填写账号密码访问登录接口 login,将账号密码传给服务端
  2. 服务端验证账号密码是否正确,若正确,则生成 token ,并将其返回给客户端
  3. 客户端将登录接口 login 返回的 token 存储在客户端本地
  4. 客户端访问业务接口(如获取当前登录用户信息 user/current)时,将 token 放入 header 中传给服务端,键名为 Authorization ,值为 Bearer 后加空格再加 token。
  5. 服务端验证 token 是否正确,若正确,则将数据(如当前登录用户信息)返回给客户端。

JWT 的 token 加密原理

JWT 的 token 由三部分组成

  1. Header:JSON对象,描述 JWT 的元数据,加密算法以及类型
  2. Payload:JSON对象,存放数据需要传递的数据
  3. Signature:对前两部分的签名,防止数据篡改。需要指定一个密钥(secret)。这个密钥只有服务器才知道,不能泄露给用户。

在这里插入图片描述
如上图,可在官网首页中测试加密和解码 https://jwt.io/

JWT 的优点

  • token 是无状态的(stateless),服务器不需要记录任何信息,不占用内存
  • 多进程,多服务器集群没有影响,易于扩展
  • 假如不记录在 cookie 中,没有跨域的影响
  • 和服务器端解耦,任何设备都可以生成token。

JWT 的缺点

  • 无法废弃,没有办法对快速对已经登录的用户做处理。
  • 空间更大,所有数据是通过 base64进行编码的,会随着数据量的增大而变大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

职言 | 校招面试有感,一个面试官的几点建议

职言: 最近一直在校招,我(作者)和同事说等这段时间结束,我不想再参与面试了,快面吐了。从校招开始,我团队前前后后陆续进了500多封学生简历,我经常一整天排满了面试,聊到…

【电子通识】芯片资料(数据手册/规格书)查询常用网站和方法

目录 1.AlldataSheet 网站(建议使用) 2.ICpdf 网站 3.CIC中国IC网 网站 4.datasheet(不建议使用) 5.半导小芯 (建议使用) 6.立创商城 (建议使用) 在做硬件的芯片选型、产品维修…

生物信息学笔记02 -- 研究的一般方法

生物信息学概述 以基因组DNA序列信息为源头,识别基因组序列中代表蛋白质和RNA基因的编码区,阐明非编码区的信息特征,破译隐藏在DNA序列中的遗传语言规律 生物信息学研究的内容与方法 研究主要内容 ⚫ 生物学数据的收集、存储、管理与提供 …

C++:继承

文章目录前言一、继承的概念及定义1.继承的概念2.继承的定义二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员总结前言 本文介绍C中的继承。 一、继承的概念及定义 1.继承的概念 继承机制是面向对象程序设计使代码可…

厨电智能化趋势下,究竟什么才是真正的“用户思维”?

文|智能相对论 作者|佘凯文 近期2022年前三季度的各项经济数据在陆续发布,大环境依然承压,各个行业都在负重前行。 厨电行业在房地产下滑、疫情反复等因素影响下,前三季度同样一直承受着不小的压力,AVC数据显示,202…

【面试官说实现一个顺序表,但听到要求后我沉默了】

在很多人心里,顺序表是数据结构最基础最简单的东西了,如果面试让我们手撕一道顺序表,相信大家心里早就乐开了花,但是面试官真的会出这么简单的题吗? 答案是:当然会,哈哈。 我们来看看面试官的要…

【精选】ARMv8/ARMv9架构入门到精通-[前言]

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 想不想一夜暴富&#xf…

python基于PHP+MySQL的高校公选课管理信息系统

随着我国教育质量提高,在校大学生的数量也在不断的增长。相对应的如何让学生根据自己的兴趣爱好进行在线选课,从而有目的的对学生进行培养,也是当前很多高校教务人员所关心的问题。能够让更多的大学生进行在线自主选课,选择自己所喜欢的课程和教师,我们开发了高校公选课管理系统…

强化学习论文分析3---蜂窝网络联合频谱和功率分配的深度强化学习--《Deep Reinforcement Learning for ......》

目录一、研究内容概述二、系统目标与约束1.系统描述2.系统目标三、DQN、DDPG网络设计四、性能表征本文是对论文《Deep Reinforcement Learning for Joint Spectrum and Power Allocation in Cellular Networks》的分析,若需下载原文请依据前方标题搜索,第…

深入理解java线程池+源码解读

文章目录一.线程池简介1. 什么是线程池2. 线程池的优点3. 线程池中核心关系继承4.对线程池的理解①框架的两极调度模型②核心线程和非核心线程的本质区别二. 线程池核心概念1. 线程池核心参数2.两种常见的线程池①newCachedThreadPool②newFixedThreadPool③newSingleThreadExc…

基于STM32F469 discovery kit 开发板的开发3

目录基于STM32F469 discovery kit 开发板的开发3软件项目架构1. 应用层:2. Drivers层3. Middlewares层软件工作流程main函数入口LED等初始化配置外部中断基于STM32F469 discovery kit 开发板的开发3 前文我们已经实现了第一个例程在discovery 开发板上的运行&#…

virtio机制简介

What is VirtIO VirtIO是virtual input & output的缩写,是在host device之上的一层抽象层,提供给虚拟机使用。VM虚机一般是通过virtio device来使用host devices设备的,所以一个VirtIO device的主要作用其实就是充当VM与host device har…

Arduino UNO 可视化GT-24工业级无线透传

Arduino UNO 可视化GT-24工业级无线透传一、前言二、硬件要求三、参数基础四、原理剖析五、透传思路六、程序概要七、arduino使用接线八、成果展示一、前言 无线透传市面上较为常见的是基于蓝牙、esp的多种透传模块,今天介绍的则是用NRF24L01芯片构成的电路。&…

RocketMQ5.0 Broker主备自动切换模式消息不丢失部署方案

RocketMQ5.0主备自动切换模式下消息的不丢失方案如何进行部署?下面就来看一下 1. 下载RocketMQ5.0 首先我们去官网将RocketMQ5.0的版本下载下来。 $ wget https://dlcdn.apache.org/rocketmq/5.0.0/rocketmq-all-5.0.0-bin-release.zip 复制代码 下载完成后解压到…

Spring常用注解——@Autowired自动装配的作用和原理

一. 认识Autowired 当我们在Spring框架中配置Bean时&#xff0c;常见的有三种办法&#xff1a;①使用xml ②使用注解 ③使用javeconfig。由于第一种方法需要在application.xml配置文件中使用大量<bean>标签来进行注入&#xff0c;就衍生了注解&#xff0c;我们只要使用A…

Paper写作开头部分怎么具体分析?

Paper的组成部分包括了正文以及结尾&#xff0c;不过Paper整体印象很大程度上是由Paper开头段决定的。然而&#xff0c;写好Paper开头并不是一件不费吹灰之力的事。那么&#xff0c;Paper开头怎么写&#xff1f;接下来就让小编来给大家讲解几个写Paper开头的方法&#xff0c;希…

【python】之字典及其操作

个人主页&#xff1a;天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 特别标注&#xff1a;仅为自己的学习记录笔记&#xff0c;方便复习和加深记忆&#xff0c;仅供借鉴参考&#xff01; 目录 前言 字典的创建 格式 字典名{key1:value1,key2:value2......} 字典名di…

大前端进阶:vue

目录 1.vue概述与前端知识体系 1.vue概述 2.前端三要素 2.前端发展史 1.三端统一 2.后端技术 3.了解前后分离的演变史 1.后端为主的MVC时代 2.基于AJAX带来的SPA时代 3.前端为主的MV*时代 4.Node JS带来的全栈时代 5.总结 4.第一个Vue程序 1.什么是MVVM 2.为什么…

每天一个小细节:UDP协议特点与报文结构

在上一期的《每天应该小细节》中&#xff0c;外面介绍了协议这个概念&#xff0c;那么在我们的传输层有两个非常重要的协议&#xff0c;那便是TCP/IP和UDP协议&#xff0c;那么今天就来详细介绍一下UDP协议的主要内容。 上期每天一个小细节指路&#x1f432;&#x1f432;&…

【马里奥数据结构吃“金币”】时间复杂度和空间复杂度

作者&#xff1a;一个喜欢猫咪的的程序员 专栏&#xff1a;《数据结构》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 时间复杂度&#xff1a; 大O渐进表示法&#xff1a; 空间复杂度&#x…