express session JWT JSON Web Token

news/2024/11/24 13:31:52/

了解 Session 认证的局限性

Session 认证机制需要配合 cookie 才能实现。由于 Cookie 默认不支持跨域访问,所以,当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置,才能实现跨域 Session 认证。
注意:
当前端请求后端接口不存在跨域问题的时候,推荐使用 Session 身份认证机制
当前端需要跨域请求后端接口的时候,不推荐使用 Session 身份认证机制,推荐使用JWT 认证机制

什么是JWT

JWT(英文全称:JSON Web Token) 是目前最流行跨域认证解决方案。
在这里插入图片描述
总结:用户的信息通过 Token 字符用的形式,保存在客户端浏览器中。服务器通过还原 Token 字符用的形式来认证用户的身份。

JWT组成

JWT 通常由三部分组成,分别是 Header (头部)、Payload (有效荷载)、Signature (签名)三者之间使用英文的“.”分隔,格式如下:
JWT 的三个组成部分,从前到后分别是 Header、Payload、Signature。其中:
Payload 部分才是真正的用户信息,它是用户信息经过加密之后生成的字符串。
Header和 Signature 是安全性相关的部分,只是为了保证 Token 的安全性
在这里插入图片描述

JWT的使用方式

客户端收到服务器返回的JWT 之后,通常会将它储存在 localStorage 或 sessionStorage 中此后,客户端每次与服务器通信,都要带上这个JWT 的字符串,从而进行身份认证。推荐的做法是把**JWT 放在 HTTP请求头的 Authorization 字段中**格式如下:


http://www.ppmy.cn/news/1182037.html

相关文章

电子学会C/C++编程等级考试2023年05月(四级)真题解析

C/C等级考试(1~8级)全部真题・点这里 第1题:怪盗基德的滑翔翼 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度…

C++系列之list的模拟实现

💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 list的节点类 template struct list_Node { public: list_Node* _prev; list_…

学游戏设计有前途吗优漫教育

很多同学对游戏设计感兴趣,但又不了解这个行业具体怎么样,现在学习的话还有前途吗?都包括什么?下面就来跟大家详细介绍下! 学游戏设计有前途吗   答案当然是肯定的,我们之所以会产生这样困惑和担忧&a…

react中使用监听

在 React 中,您可以使用 addEventListener 函数来监听事件。以下是一个示例: import React, { useRef, useEffect } from react;function App() {const inputRef useRef(null);useEffect(() > {inputRef.current.addEventListener(input, handleInp…

Redis学习笔记1:基于springboot的lettuce redis客户端共享原生物理连接shareNativeConnection

springboot默认是使用基于lettuce的redis客户端,默认情况下LettuceConnectionFactory的shareNativeConnection属性值为true;在springboot的IOC容器之中一个LettuceConnectionFactory最多提供两个共享本地连接,一个给RedisTemplate和StringRed…

SpringCloudAlibaba实战-nacos集群部署

写在前面:在学习阶段,我们想快速学习SpringCloudAlibaba功能,但总是花费大量时间跟着视频或博客做组件配置。由于版本的更迭,我们学习时的组件版本很可能和作者的不一致,又或者是各自环境不一,只能一坑又一…

埃及市场开发攻略,收藏一篇就够了

提起埃及,大多数人的第一印象就是金字塔等世界文明古迹,这些著名的建筑吸引了世界各地的游客前来参观。除此之外,埃及拥有广袤领土和优越的地理位置,为其贸易市场提供了强大的基础条件。埃及是非洲第三大经济体,不过埃…

Docker部署Go项目

Docker部署Go项目 文章目录 Docker部署Go项目准备Go项目编写Dockerfile构建Docker镜像打包Docker镜像 准备Go项目 项目结构 go-web #项目根目录- core #代码目录- main.go- go.mod- Dockerfile #Dockerfile文件- main编写Dockerfile #依赖镜像 FROM golang:latest#工作目…