佬什么专业啊
1 1

相关推荐

JWT 的工作原理用户通过用户名和密码等凭据进行身份验证。服务器验证用户的凭据,生成 JWT,并将其返回给用户。JWT 通过 Base64Url 编码而成。用户存储 JWT,通常存储在浏览器的 localStorage 或 sessionStorage 中。用户在每次请求时将 JWT 发送到服务器,通常通过 HTTP 请求的 Authorization 头部。服务器接收到 JWT 后验证其签名与内容。如果有效,服务器执行该请求;如果无效,返回相应的错误信息。JWT 的优势无状态:JWT 以自包含的方式存储用户信息,服务器不需要存储用户会话信息,适合分布式系统。跨域支持:由于 JWT 是基于标准的字符串格式,可以轻松支持跨域请求。灵活性:可以在 Token 中存储自定义数据,不仅限于身份验证相关的信息。安全性:通过签名算法保证数据的完整性,避免被篡改。JWT 的缺点不可撤销性:JWT 一旦生成,无法简单地撤销,除非设计了 Token 刷新机制。过期管理:需要合理设置过期时间,过长会带来安全隐患,过短则可能影响用户体验。隐私问题:JWT 中的信息是Base64Url编码的,并未加密,因此敏感信息不应直接放在 Token 中。常见用例用户身份验证:用户登录成功后,会话管理通过发放 JWT 实现。API 访问控制:保护 API 端点,确保只有持有有效 Token 的用户才能访问。单点登录(SSO):多个系统之间共享 JWT,实现单点登录。
点赞 评论 收藏
分享
03-07 21:13
已编辑
门头沟学院 前端工程师
PS:一面已挂,一小时十分钟左右JS相关1.js里面的简单数据类型和复杂数据类型2.undefined和null有什么区别,能全等吗?3.数组的常用方法4.slice()和splice()有什么区别,分别有几个参数5.数组的替换,如何做6.map()和foreach()的区别,返回的数组内存指向有区别吗?7.forEach能不能被打断,break或者continue被打断8.几种方式判断是不是数组?9.清空数组的几种方式10.防抖和节流11.ES6新增加的特性12.Promise中用到了哪些方法13.promise.all()和.race()14.无论成功还是失败都会执行的方法finally()CSS相关1.css的变量,有用到过吗2.css的选择器3.后代选择器和兄弟选择器、相邻节点选择器4.几种实现元素的水平垂直的方法5.相对自己偏移50%,怎么写Vue相关1.vue里面的computed属性是怎么实现的2.vue的生命周期函数3.nextTick()4.模板渲染和数据更新,数据代理5.vue的diff算法,vue2和vue36.diff算法有没有跨层级7.v-for需要一个key,如果没给key的话,时间复杂度会有变化吗场景题1.有100个并发请求,然后由于业务需求,不让前端一下子发100个请求,给出的约定条件,10个一组的发,有什么办法吗。具体要怎么处理?2.使用promise.all()返回的结果只有一个,但我需要将失败的请求,重新放到队列里面进行排队。该怎么处理项目相关1.对webpack的了解2.loader和plugin的区别3.如果把css单独拎出来,用loader还是plugin4.为什么将vue3迁到2的5.有用过其他的node或者java、python写过后台吗6.跨域如何解决的,打包之后怎么处理,jsonp是怎么写的呢,7.esm和udm和usm的区别手撕:本地IDE,实现将数组的0元素置于末尾,保持数组非零元素的相对位置不变。(双指针)
不放弃的小鱼干很洒脱:我嘞个八股盛宴
点赞 评论 收藏
分享
牛客网
牛客企业服务