【token】一.token的作用;二.Express中实现token的方法

news2024/10/4 21:18:50

目录

一.token的作用:

1.控制表单的重复提交:在表单中加入隐藏的表单控件,在这个隐藏的表单控件中带上token字符串。

2.身份验证:用来验证向服务器发起请求(请求服务器的资源)的用户是否是合法的用户。经过登录后进入系统的用户是合法的用户

二.Express中实现token的方法:

1.使用JWT模块:JsonWebToken

(1)函数:

2.token验证的流程

(1)第一次向服务器发起登录请求时,没有token信息

(2)当用户登录后,在服务器端生成token(token中包含哪些信息由用户决定),然后将token响应给客户端

(3)当客户端接收到服务器端响应的token后,将token存入本地的缓存中(如localStorage、cookie)

(4)当客户端再次访问服务器时,需要在请求头中包含token;服务器在接收到客户端的请求后,先查找客户端的请求头中是否有token,若没有,则表明该用户是非法用户,就不响应任何数据;若有token,则表明该用户是合法用户,就响应数据

3.Express中实现过程

(1)安装、导入 JsonWebToken模块

(2)在登录接口中生成token并响应给客户端

(3)在客户端将接收到的token保存到本地缓存中

(4)当客户端再次访问(包括未登录的访问---非法访问)服务器,服务器端会对token进行验证

(5)客户端每次向服务器发起请求时都必须携带token,否则视为非法用户


一.token的作用:

1.控制表单的重复提交:在表单中加入隐藏的表单控件,在这个隐藏的表单控件中带上token字符串。

2.身份验证:用来验证向服务器发起请求(请求服务器的资源)的用户是否是合法的用户。经过登录后进入系统的用户是合法的用户

二.Express中实现token的方法:

1.使用JWT模块:JsonWebToken

(1)函数:

        sign(加密的数据,加密的密钥,其他参数);返回值是一个加密后的字符串

        verify(token,加密的密钥,[options]);验证token,返回值是一个对象,加密数据的信息,包括有效期

        decode(token,加密的密钥);解密的方法。返回值是一个对象,加密数据的信息,包括有效期

2.token验证的流程

(1)第一次向服务器发起登录请求时,没有token信息

(2)当用户登录后,在服务器端生成token(token中包含哪些信息由用户决定),然后将token响应给客户端

(3)当客户端接收到服务器端响应的token后,将token存入本地的缓存中(如localStorage、cookie)

(4)当客户端再次访问服务器时,需要在请求头中包含token;服务器在接收到客户端的请求后,先查找客户端的请求头中是否有token,若没有,则表明该用户是非法用户,就不响应任何数据;若有token,则表明该用户是合法用户,就响应数据

3.Express中实现过程

(1)安装、导入 JsonWebToken模块

(2)在登录接口中生成token并响应给客户端

(3)在客户端将接收到的token保存到本地缓存中

(4)当客户端再次访问(包括未登录的访问---非法访问)服务器,服务器端会对token进行验证

(5)客户端每次向服务器发起请求时都必须携带token,否则视为非法用户

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

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

相关文章

如何理解 CRUD 与 REST

全文 2070 字 阅读时间约 6 分钟 本文首发于码匠技术博客​​​​​​​ 目录 什么是 CRUD? CRUD 的发展简史 CRUD 规则 什么是 REST? REST 的发展简史 REST 规则 CRUD VS REST 关于码匠 CRUD 和 REST 是应用开发领域中两个比较常见的概念&…

解决安装Tensorflow2: ERROR annot determine archive format of XXX保存问题

安装命令报错: ERROR: Cannot unpack file C:\Users\lenovo\AppData\Local\Temp\pip-unpack-mdiptqlf\simple.html (downloaded from C:\Users\lenovo\AppData\Local\Temp\pip-req-build-oq32e170, content-type: text/html); cannot detect archive format解决方法…

Barra模型因子的构建及应用(一)

一、摘要 Barra模型可以追溯至1974年,美国学者Barr Rosenberg对投资组合的风险和收益进行分析的多因子风险模型。随后Rosenberg成立了Barra,并针对美国权益市场提出了Barra USE1模型,现在已更新到USE4;而针对中国权益市场提出的B…

微服务架构下的可观测性

微服务架构下的可观测性 一、服务可观测性 传统架构下排查问题传统项目在出现异常或性能问题时,通常都是基于系统日志文件来排查。而在微服务分布式部署架构下,日志文件随微服务分散存储,对于排查问题工作量很大。传统监控告警平台也仅针对平…

痞子衡嵌入式:探讨i.MXRT下FlexSPI driver实现Flash编程时对于中断支持问题

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT下FlexSPI driver实现Flash编程时对于中断支持问题。 前段时间有客户在官方社区反映 i.MXRT1170 下使用官方 SDK 里 FlexSPI 驱动去擦写 Flash 时不能很好地支持全局中断。客户项目…

内核解读之内存管理(2)内存管理三级架构之内存结点node

文章目录0、概述1、内存节点node0、概述 结合NUMA的架构,Linux抽象出了三级内存管理架构:内存节点node、内存区域zone和物理页框page。 在NUMA模型中,每个CPU都有自己的本地内存节点(memory node),而且还…

qq录制视频保存到哪了?如何更改qq录屏存储位置

一、查看qq录制视频保存位置如果有录制视频的需求,相信大部分人都是使用qq自带的录屏功能来录制视频。那qq录屏后的视频在哪里去找?今天就给大家分享如何查看qq录制完的视频保存位置操作方法:第一步:电脑上登录qq,在qq…

Cadence PCB仿真 使用Allegro PCB SI为BRD文件创建通用型IBIS模型的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 1,概述 本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的元器件创建IBIS模型的方法。 2,创建方法 第1步:确定打开PCB文件的软件是 Allegro PCB SI 如果不是Allegro PCB SI,可执行File→Change Editor…更换软…

尚医通-查询所有子节点-前端整合-更新医院状态(二十三)

目录: (1)医院管理-查询所有子节点接口 (2)医院列表-前端整合 (3)更新医院上线状态-功能实现 (1)医院管理-查询所有子节点接口 先做一个省的查询 在DictContrlller…

数据可视化大屏百度地图GPS轨迹位置感知状态开发实战案例解析(包含缩放控件、点线覆盖物、弹窗、标注图标分类功能)

系列文章目录 1.数据可视化大屏应急管理综合指挥调度系统完整案例详解(PHP-API、Echarts、百度地图) 2.数据可视化大屏百度地图API开发:停车场分布标注和检索静态版 3.百度地图高级开发:map.getDistance计算多点之间的距离并输入…

C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(二)

C语言及算法设计课程实验三:最简单的C程序设计——顺序程序设计(二)一、实验目的二、 实验内容2.2、实验内容2:求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积三、 实验步骤3.2、顺序程序设计实验题目2:求圆周长、…

CTF文件隐写总结之图片

1.1 Fastjson反序列化 代码审计 本项目引入的Fastjson版本为1.2.58,该版本存在反序列化漏洞。 已确定了Fastjson版本存在问题,进一步寻找触发Fastjson的漏洞点。 我们关注两个函数JSON.parse()和JSON.parseObject(),并且执行函数内参数用户可控 Edi…

【博客系统】后台设计

文章目录博客系统(使用模板技术)准备工作数据库设计表设计文章表用户表完整SQL封装数据库操作代码创建DBUtil创建Blog类和User类创建BlogDao类和UserDao类实现insert实现selectAll实现selectOne实现delete实现selectByName实现selectByUserId验证数据库代…

Python 操作 MySQL 之 pysql 与 SQLAchemy

一、pymsql pymsql 是 Python 中操作 MySQL 的原生模块,其使用方法和 MySQL 的SQL语句几乎相同 1、下载安装 pip3 install pymysql 2、执行SQL 执行 SQL 语句的基本语法: 需要注意的是:创建链接后,都由游标来进行与数据库的…

CATCTF wp

文章目录ez_jsCat_Jumpmiao~CatCatPeekabooMeowMeowCatchCatCatFlagNepnep 祝你新年快乐啦!ez_js f12搜索score,修改超过分数1即可获得flag 然后获得flag地址 访问即可 Cat_Jump 仿真玩半天不知道怎么解,最后直接搜关键词出的 挺可惜…

唱歌就能画一幅图像? #whisper-to-stable-diffusion

现在热门的不仅是多模态的文本图像生成,前阵子,OpenAI 发布了一个自动语音识别系统 Whispe 。在处理口音、背景噪声以及技术术语方面,Whisper 几乎达到了人类的水准。那么将 Whisper 与 Stable Diffusion 结合,可以直接完成语音生…

回顾 OpenMLDB 2022 之旅 | 开源之路,行将致远

2022年初,OpenMLDB 尚且懵懂稚嫩。彼时的我们刚刚走过开源道路上的第一个秋天,还没有结出丰硕的果实。前进着,期待着,2022的一切徐徐展开: 请旋转手机 和 OpenMLDB 共同回忆 2022 之旅 2022年末,OpenMLDB …

必看!.NET 7 在网络领域的四大更新

最新的 .NET 7 现已发布,我们想介绍一下其在网络领域所做的一些有趣的更改和添加。这篇文章我们将讨论 .NET 7 在 HTTP 空间、新 QUIC API、网络安全和 WebSockets 方面的变化。 HTTP 改进了对连接尝试失败的处理 在 .NET 6 之前的版本中,如果连接池中…

云计算运营—04 FusionSphere OpenStack 6.5方案介绍

FusionSphere OpenStack 6.5方案介绍 OpenStack 系统架构 OpenStack是什么 OpenStack是目前最流行的开源云操作系统: 资源抽象 OpenStack将各类硬件资源,通过虚拟化与软件定义的方式,抽象成资源池 资源分配与负载调度 OpenStack根据管理员…

Ardupilot EKF3核心算法《状态量的协方差矩阵推导》

目录 文章目录 目录摘要1.协方差矩阵推导2.关于 F的计算2.1 计算F的前四维关于四元数的状态方程2.2 计算F 的5-10维关于速度和位置的状态方程3.其他协方差的传播3.1 关于角增量偏差的协方差传播3.2 关于速度增量偏差的协方差传播3.3 关于地理坐标系地磁磁场矢量的协方差传播3.4…