首页 > 其他分享 >jwt总结文档

jwt总结文档

时间:2024-05-25 17:05:57浏览次数:26  
标签:总结 JWT jwt JSON token 文档 cookie 服务端 客户端

Token:令牌,本质是一个字符串,

JWT是token的一种具体实现方式,其全称是JSON Web Token

token进行用户身份验证的流程:

1.客户端使用用户名和密码请求登录

2.服务端收到请求,验证用户名和密码

3.验证成功后,服务端会签发一个token,再把这个token返回给客户端

4.客户端收到token后可以把它存储起来,比如放到cookie中

5.客户端每次向服务端请求资源时需要携带服务端签发的token,可以在cookie或者header中携带

6.服务端收到请求,然后去验证客户端请求里面带着的token,如果验证成功,就向客户端返回请求数据

优点:

  1. 支持跨域访问
  2. 无状态
  3. 更适用CDN(内容分发网络)
  4. 更适合于移动端
  5. 无需考虑CSRF

JWT本质是一个字符串它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。

JWT的优势是:

简洁:JWT Token数据量小,传输速度也很快

因为JWT Token是以JSON加密形式保存在客户端的,所以JWT是跨语言的,原则上任何web形式都支持

不需要在服务端保存会话信息,也就是说不依赖于cookie和session,所以没有了传统session认证的弊端,特别适用于分布式微服务

单点登录友好:使用Session进行身份认证的话,由于cookie无法跨域,难以实现单点登录。但是,使用token进行认证的话, token可以被保存在客户端的任意位置的内存中,不一定是cookie,所以不依赖cookie,不会存在这些问题

适合移动端应用:使用Session进行身份认证的话,需要保存一份信息在服务器端,而且这种方式会依赖到Cookie(需要 Cookie 保存 SessionId),所以不适合移动端

JWT由3部分组成:标头(Header)、有效载荷(Payload)和签名(Signature)。在传输的时候,会将JWT的3部分分别进行Base64编码后用.进行连接形成最终传输的字符串

1.Header

JWT头是一个描述JWT元数据的JSON对象,alg属性表示签名使用的算法,默认为HMAC SHA256(写为HS256);typ属性表示令牌的类型,JWT令牌统一写为JWT。最后,使用Base64 URL算法将上述JSON对象转换为字符串保存

2.Payload

有效载荷部分,是JWT的主体内容部分,也是一个JSON对象,包含需要传递的数据。 JWT指定七个默认字段供选择

3.Signature

签名哈希部分是对上面两部分数据签名,需要使用base64编码后的header和payload数据,通过指定的算法生成哈希,以确保数据不会被篡改。首先,需要指定一个密钥(secret)。该密码仅仅为保存在服务器中,并且不能向用户公开。

JWT的种类

其实JWT(JSON Web Token)指的是一种规范,这种规范允许我们使用JWT在两个组织之间传递安全可靠的信息,JWT的具体实现可以分为以下几种:

nonsecure JWT:未经过签名,不安全的JWT

JWS:经过签名的JWT

JWE:payload部分经过加密的JWT

标签:总结,JWT,jwt,JSON,token,文档,cookie,服务端,客户端
From: https://blog.csdn.net/2301_82257575/article/details/139184645

相关文章

  • (读后总结)深度解析机器学习(全6册)萃取自然语言与智能图像处理的经验 (卡蒂克·雷迪·
    链接:pan.baidu.com/s/1tIHXj9HmIYojAHqje09DTA?pwd=jqso提取码:jqso机器学习基础:介绍了机器学习的基本概念、分类以及发展历程,为后续章节奠定了理论基础。深度学习原理:详细讲解了深度学习的原理、架构以及优化方法,为自然语言处理和图像处理提供了强大的技术支持。自然语言处理......
  • 【计算机毕业设计】基于SSM++jsp的实验室耗材管理系统【源码+lw+部署文档】
             目录第1章绪论1.1课题背景1.2课题意义1.3研究内容第2章开发环境与技术2.1MYSQL数据库2.2JSP技术 2.3SSM框架第3章系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性3.2系统流程3.2.1操作流程3.2.2......
  • 浏览器打开md文档
    一谷歌打开1、将压缩包Markdown-Viewer_v3.9.zip解压到Markdown-Viewer_v3.9链接:https://pan.baidu.com/s/1cy8NWio9XTj_1tUkrvUYfA?pwd=i2cg提取码:i2cg 2、将Markdown-Viewer_v3.9文件夹中的_metadata文件夹重命名为metadata(去掉“_”符号)3、打开谷歌浏览器输入: ......
  • Gradio官方学习文档(二)
    一、队列多用户访问Gradioapp排队机制,支持的类:gr.Interface,gr.Blocks,andgr.ChatInterface示例:#在类后使用queue()函数,设定`default_concurrency_limit`=5(不声明,默认值为1)demo=gr.Interface(...).queue(default_concurrency_limit=5)demo.launch()二、流式......
  • Gradio官方文档学习记录(一)
    一、Gradio基本使用方式:Gradio是一个开源的Python包,允许您快速为您的机器学习模型、API或任意Python函数构建演示或Web应用程序。然后,您可以使用Gradio内置的分享功能在几秒钟内分享您的演示或Web应用程序链接。无需JavaScript、CSS或Web主机经验。基本使用:importgradi......
  • SQL优化最强总结 (建议收藏~)
    大家好,我是赵老师Part1前言BATJTMD等大厂的面试难度越来越高,但无论从大厂还是到小公司,一直未变的一个重点就是对SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,甚至在各大厂招聘岗位职能上都有明码标注,如果......
  • Node.js —— 前后端的身份认证 之用 express 实现 JWT 身份认证
    JWT的认识什么是JWT        JWT(英文全称:JSONWebToken)是目前最流行的跨域认证解决方案。JWT的工作原理        总结:用户的信息通过Token字符串的形式,保存在客户端浏览器中。服务器通过还原Token字符串的形式来认证用户的身份。  JWT的组成部分......
  • CMU 15-445 Lecture #05: Storage Models & Compression笔记总结(上)
    这是cmu15-445第五节课程StorageModels&Compression的上半部分,主要包括StorageModels的内容,压缩部分下次再整理,学完这部分可以去做hw2的第一部分课程主页:CMU15-445/645::IntrotoDatabaseSystems(Fall2023)(有几张图片目前没上传,过两天补一下)DatabaseWorkloads......
  • 日常总结(10):2024年05月24日
    日常总结几天没总结了,最近考了几次试。05.0960ptsrk505.1145ptsrk5T1没开longlong同时100pts05.14200ptsrk3最后一题暴力写挂少20pts痛失rk105.1672ptsrk6这一场非常的拉,前两题思路都挂掉05.18220ptsrk3第一题没转double失40pts痛失rk105.21300ptsr......
  • 《金融评论》《税务研究》文本分析技术最新进展总结盘点
    郭豫媚,王航,郭俊杰.货币政策预期测度与央行预期管理效果评估[J].金融评论,2023,15(06):47-71+123.   关键词:预期管理;;市场预期;;政策评价;;央行沟通 摘要:宏观经济政策效果评估是健全宏观经济治理体系的重要一环。然而,预期管理作为中央银行引导预期的重要宏观调控手段,......