当前位置: 首页 > news >正文

百度云备案域名购买广州新塘网站seo优化

百度云备案域名购买,广州新塘网站seo优化,wordpress查看需要密码,做民宿房东怎样上网站卖房📑前言 本文主要是jwt解读文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点&#…

📑前言

本文主要是jwt解读文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

在这里插入图片描述

目录

文章目录

  • 📑前言
  • **目录**
    • 1、什么是jwt及其用法?
    • 2. JWT 的数据结构
      • 2.1 Header
      • 2.2 Payload(负载)
      • 2.3 Signature(签名)
    • 3.基于Token的身份认证与基于服务器的身份认证
    • 4.实际开发中的应用
  • 📑文章末尾


1、什么是jwt及其用法?

什么是JWT?JWT,全称Json Web Token,是一种基于json的开发标准,是token的一种具体实现方式。本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。

JWT官网有一张图描述了JWT的认证过程:

在这里插入图片描述

2. JWT 的数据结构

JWT 的三个组成部分依次如下
· Header(头部)
· Payload(负载)
· Signature(签名)

2.1 Header

Header 部分是一个 JSON 对象,描述 JWT 的元数据,通常是下面的样子。
在这里插入图片描述

头部:表明是一个jwt类型的token,采取的加密方式是HS256

2.2 Payload(负载)

Payload 部分也是一个 JSON 对象,用来存放实际需要传递的数据。JWT 规定了7个官方字段,供选用。

iss (issuer):签发人
exp (expiration time):过期时间
sub (subject):主题
aud (audience):受众
nbf (Not Before):生效时间
iat (Issued At):签发时间
jti (JWT ID):编号

2.3 Signature(签名)

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

在这里插入图片描述

H M A C S H A 256 ( b a s e 64 U r l E n c o d e ( h e a d e r ) + " . " + b a s e 64 U r l E n c o d e ( p a y l o a d ) , s e c r e t ) HMACSHA256(base64UrlEncode(header) + “.” + base64UrlEncode(payload), secret)

在计算出签名哈希后,JWT头,有效载荷和签名哈希的三个部分组合成一个字符串,每个部分用.分隔,就构成整个JWT对象

3.基于Token的身份认证与基于服务器的身份认证

在讨论基于Token的身份认证是如何工作的以及它的好处之前,我们先来看一下以前我们是怎么做的:
HTTP协议是无状态的,也就是说,如果我们已经认证了一个用户,那么他下一次请求的时候,服务器不知道我是谁,我们必须再次认证
传统的做法是将已经认证过的用户信息存储在服务器上,比如Session。用户下次请求的时候带着SessionID,然后服务器以此检查用户是否认证过。
使用 JWT 的优势:
你不需要向传统的 Web 应用那样将用户状态保存于 Session 中。

4.实际开发中的应用

在实际的SpringBoot项目中,一般我们可以用如下流程做登录:
1.在登录验证通过后,给用户生成一个对应的随机token(注意这个token不是指jwt,可以用uuid等算法生成),然后将这个token作为key的一部分,用户信息作为value存入Redis,并设置过期时间,这个过期时间就是登录失效的时间
2.将第1步中生成的随机token作为JWT的payload生成JWT字符串返回给前端
3.前端之后每次请求都在请求头中的Authorization字段中携带JWT字符串
4.后端定义一个拦截器,每次收到前端请求时,都先从请求头中的Authorization字段中取出JWT字符串并进行验证,验证通过后解析出payload中的随机token,然后再用这个随机token得到key,从Redis中获取用户信息,如果能获取到就说明用户已经登录

📑文章末尾

在这里插入图片描述

http://www.hengruixuexiao.com/news/41600.html

相关文章:

  • 安丘市建设局官方网站网络搜索关键词
  • 犀牛云网站建设特点如何进行网络推广和宣传
  • 建设银行网站查询房贷信息百度指数查询排行榜
  • 天津网站搜索引擎优化aso投放平台
  • 怎么用自己的网站做链轮建网站找哪个平台好呢
  • 企业展厅设计公司重庆搜索引擎优化论文3000字
  • wordpress 主题无法更换百度广告优化
  • cms开源网站管理系统什么关键词可以搜到那种
  • 帮我写一篇网站百度引流推广
  • 做网站如何语音html网站模板免费
  • 163企业邮箱服务器怎么设置百中搜优化软件
  • 如何规划一个外贸网站广州网络推广专员
  • 徐州网站定制公司哪家好郑州网站seo外包公司
  • node 网站开发网站seo分析
  • 品牌建设的措施建议长春百度seo公司
  • 做传奇私服网站有钱赚吗做一个网站需要多少钱大概
  • 哪个网站适合 做红本抵押淘宝店铺怎么免费推广
  • 上海品牌网站建设公百度技术培训中心
  • 用什么做网站好网络营销的概念和特征
  • 网站建设客服与客户的对话中国十大网站
  • 怎么做微帮网站平面设计培训班学费一般多少
  • 黄页网站推广app软件qq推广工具
  • 做pc端网站必知广告代理公司
  • 教学网站开发背景广告推广方式有哪几种
  • 大象戌人视频入口2022seo在线短视频发布页运营
  • 网站开发需要的技术的流程淘宝推广怎么做
  • 用易语言可以做网站吗优化大师是什么软件
  • 美食网站开发目的与意义软文写作网站
  • 网站建设邮箱线上推广的优势和好处
  • 常州网站建设开发百度网盘官网登录入口