首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
靠谱的小龙虾拒绝内卷
武汉理工大学 Java
发布于湖北
关注
已关注
取消关注
@Java三段:
闲鱼面试:说说JWT工作原理?
JWT(JSON Web Token)一种开放的标准规范(RFC 7519),用于在网络上安全的传输信息,通常被用于身份验证。简单来说,你可以把 JWT 想象成一张小巧的、自包含的电子通行证。这张通行证里面包含了用户的身份信息,就像你在某个俱乐部的会员卡,上面有你的名字、会员等级等信息,拿着这张卡,你就能证明你是谁,享受相应的服务。1.JWT组成JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature),如下图所示:头部(Header):包含了关于生成该 JWT 的信息以及所使用的算法类型。载荷(Payload):包含了要传递的数据,例如身份信息和其他附属数据。JWT 官方规定了 7 个字段,可供使用:iss (Issuer):签发者。sub (Subject):主题。aud (Audience):接收者。exp (Expiration time):过期时间。nbf (Not Before):生效时间。iat (Issued At):签发时间。jti (JWT ID):编号。签名(Signature):使用密钥对头部和载荷进行签名,以验证其完整性。JWT 官网:https://jwt.io/2.JWT工作原理JWT 工作原理包含三部分:生成 JWT传输 JWT验证 JWT下面分别来看。1.生成JWT在用户登录时,当服务器端验证了用户名和密码的正确性后,会根据用户的信息,如用户 ID 和用户名称,加上服务器端存储的 JWT 秘钥一起来生成一个 JWT 字符串,也就是我们所说的 Token,这个 Token 是 Encoded 编码过的,类似于:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cDecoded 解码后会得到三部分内容:头部(Header)+载荷(Payload)+签名(Signature)。头部(Header):包含了关于生成该 JWT 的信息以及所使用的算法类型。载荷(Payload):包含了要传递的数据,例如身份信息和其他附属数据。签名(Signature):使用密钥对头部和载荷进行签名,以验证其完整性。2.传输JWTJWT 通常存储在客户端的 Cookie、LocalStorage、SessionStorage 等位置,客户端在每次请求时把 JWT 放在 Authorization 头中或作为参数传递给服务器端。3.验证JWT服务器端接收到 JWT 的 Token 后,会先将 Token Decoded 解码,之后会得到头部(Header)+载荷(Payload)+签名(Signature)。然后服务器端会使用它本地存储的秘钥,以及头部(Header)中的加密算法和载荷(Payload)中的信息进行重新加密,得到一个新的签名。最后会判断 Token 的真伪,用上一步新生成的签名和 Decoded 解码得到的签名(Signature)进行判断,如果二者一致,则说明当前的 Token 有效性的、完整的,可以执行后续的操作了,否则则返回 Token 错误。当然在这一步判断时,我们通常也要看载荷(Payload)中的过期时间是否有效,如果无效,则需要提示用户重新登录。3.JWT优势JWT 相较于传统的基于会话(Session)的认证机制,具有以下优势:无需服务器存储状态:传统的基于会话的认证机制需要服务器在会话中存储用户的状态信息,包括用户的登录状态、权限等。而使用 JWT,服务器无需存储任何会话状态信息,所有的认证和授权信息都包含在 JWT 中,使得系统可以更容易地进行水平扩展。跨域支持:由于 JWT 包含了完整的认证和授权信息,因此可以轻松地在多个域之间进行传递和使用,实现跨域授权。适应微服务架构:在微服务架构中,很多服务是独立部署并且可以横向扩展的,这就需要保证认证和授权的无状态性。使用 JWT 可以满足这种需求,每次请求携带 JWT 即可实现认证和授权。自包含:JWT 包含了认证和授权信息,以及其他自定义的声明,这些信息都被编码在 JWT 中,在服务端解码后使用。JWT 的自包含性减少了对服务端资源的依赖,并提供了统一的安全机制。扩展性:JWT 可以被扩展和定制,可以按照需求添加自定义的声明和数据,灵活性更高。使用 JWT 相较于传统的基于会话的认证机制,可以减少服务器存储开销和管理复杂性,实现跨域支持和水平扩展,并且更适应无状态和微服务架构。课后思考JWT如何实现自动续期?参考 & 鸣谢www.javacn.site
点赞 7
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-29 12:15
华中师范大学 Java
超星Java一面
base武汉目前最大的感悟,Java没有互联网相关的实习(服务端开发)经历,秋招春招真的很难找。我写的实习经历是安卓相关的,但对安卓那块的深入程度并不深。好吧,言归正传,记录下这次面试的内容。自我介绍项目难点,用到了什么消费订阅模型,rabbimq对比kafka,怎么保证消息顺序性聊实习,异常情况怎么应对问线程池,IO情况,写代码模拟多线程占满CPU核心,继续扩展问,不难JVM内存模型,线程在哪里执行?不停地创建线程会怎么样主线程如何等前面的多个线程执行完再继续执行设计模式,只讲了单例最近看什么书JDK新特性,springAI事务隔离级别那一套,常规八股分库分表,有什么工具?水平和垂直分表的区...
查看23道真题和解析
点赞
评论
收藏
分享
04-28 14:18
已编辑
安徽大学 Java
26Java后端开发暑假实习 希音Shein 时间线
2025-04-09 20:57 网申投递简历4-21 一面 https://www.nowcoder.com/feed/main/detail/2e235d5c9a3d4a25a65434d90070e085?sourceSSR=users,其实一直在推进度,只是我还有别的面试流程4-23 二面 https://www.nowcoder.com/feed/main/detail/265157a02c384eb6aef47d2b3d50fed04-24上午 HR面 https://www.nowcoder.com/feed/main/detail/5a16b58cb1cc431b811763a...
点赞
评论
收藏
分享
04-14 19:18
门头沟学院 化工工程师
投票
offer比较,延毕了一年,能收到这两个offer已经谢天谢地了,但还是要选一个,求建议
不愿意透露姓名的牛油:
9-10大小周是人呆的吗
点赞
评论
收藏
分享
03-15 00:45
已编辑
中国科学院大学 Java
哈啰-Java日常实习(OC,已拒)
问的很简单都秒了,但是面试官没开摄像头,疑似kpi,无后续。--------------------3/14更新,3/12通知给了口头offer,3/13发了意向书,已拒。一面(35min)(25/3/6)(无后续) 1、自我介绍 2、介绍一下你的那个Python相关项目(本科毕设,web系统+算法模型提供部分接口) 3、Java面向对象有哪些特点呢?详细说一下。 4、介绍一下hashmap;为什么要把链表转换为红黑树呢?红黑树查找的时间复杂度?1.7和1.8的区别。 5、介绍一下concurrentHashmap。 6、synchronized锁和Lock锁有什么区别? 7、公平锁的一个底层是怎么实现的呢? 8、线程池的核心参数、拒绝策略、提交一个任务执行流程? 9、spring有哪些特点?(ioc/aop) 10、spring中对于循环依赖是怎么解决的? 11、MySQL和redis的区别? 12、MySQL的索引结构是什么? 13、MySQL的事务有哪些特性?怎么保证? 14、MySQL的默认隔离级别?可重复读是怎么做到的呢? 15、介绍一下MVCC和快照读readview。 16、一般在什么场景下会使用redis? 17、对于大量的请求,如果此时缓存中还没有写入数据怎么办? 18、介绍一下redis实现的分布式锁。 19、有用过es和mongo DB吗?(知道,没用过) 20、消息中间件用过吗?说一下你的使用场景? 21、一个场景,如果说有一个接口响应的比较慢,如果说让你排查,你会怎么去排查?(上下游接口、大key问题,只答了两,后面试官补充) 无手撕,反问业务。
胖墩墩的查理在学c语言:
哥们我是五号面的 流程差不多
查看21道真题和解析
点赞
评论
收藏
分享
04-25 14:35
三七互娱_游戏开发_游戏策划(准入职员工)
三七互娱内推-三七互娱内推码
3.3 笔试 3.10 约面试 3.15 一面3.25二面 4.6hr面全部面完后感受:就流程和面试官来说,很不错的体验。能感受到务实高效的组织氛围。后来和hr姐姐交流,她说一面是经理,二面是总监,总之能和大佬们交流也算学到东西了。Hr面对运营的理解?需要什么能力?实习或校园遇到最大的问题?对三七产品的了解?三七工作强度大,能接受吗?为什么选择三七?1-2年内的成长规划?如果入职,半年内规划?薪资期望?一面 40min对三七互娱了解吗?介绍玩的比较多的游戏(大概意思)介绍一个实习中的难点如何解决概括一下这个难点中体现的能力(我废话太多,面试官听蒙了)做游戏运营最需要的3个能力把这3个能力放在你...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.3W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.0W
3
...
后端简历上最值得写的项目
1.1W
4
...
北京到底有谁在啊?
9695
5
...
五一假期,弯道超车时间表
9264
6
...
五一别写你那破开源代码了
7617
7
...
和ai聊天,忍不住爆哭
6706
8
...
给你看看给大学生开10k的前端面经长啥样
5789
9
...
快手投诉后续- HR把我拉黑了!
5574
10
...
拼多多服务端信息确认
5335
创作者周榜
更多
正在热议
更多
#
找工作,行业重要还是岗位重要?
#
8049次浏览
105人参与
#
五一之后,实习真的很难找吗?
#
46301次浏览
335人参与
#
盲审过后你想做什么?
#
12821次浏览
115人参与
#
领导秒批的请假话术
#
10070次浏览
74人参与
#
小厂实习有必要去吗
#
42253次浏览
260人参与
#
设计人如何选offer
#
98476次浏览
690人参与
#
外包能不能当跳板?
#
22216次浏览
191人参与
#
五一假期,你打算“躺”还是“卷”?
#
31818次浏览
443人参与
#
考研可以缓解求职焦虑吗
#
21330次浏览
252人参与
#
面试等了一周没回复,还有戏吗
#
115738次浏览
1076人参与
#
大疆的机械笔试比去年难吗
#
69675次浏览
603人参与
#
找工作前vs找工作后的心路变化
#
7223次浏览
64人参与
#
如果有时光机,你最想去到哪个年纪?
#
43369次浏览
770人参与
#
硬件人,你被哪些公司给挂了
#
46803次浏览
723人参与
#
写简历别走弯路
#
714646次浏览
7850人参与
#
秋招前后对offer的期望对比
#
271682次浏览
2075人参与
#
应届生薪资多少才合理?
#
3133次浏览
24人参与
#
你喜欢工作还是上学
#
37754次浏览
413人参与
#
每人推荐一个小而美的高薪公司
#
72873次浏览
1357人参与
#
如果不工作真的会快乐吗
#
101316次浏览
868人参与
牛客网
牛客企业服务