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

幸福人寿保险公司官方网站电子保单打印网址注册查询

幸福人寿保险公司官方网站电子保单打印,网址注册查询,新网网站,想让一个网站上线需要怎么做JWT认证机制 官方文档 JWT文档 原理简介 客户端通过服务端认证之后,由服务端返回一个JSON对象,发回到客户端。客户端保存该对象用于以后服务器访问凭据,服务端完全依赖该JSON对象来验证客户端的身份。由于JSON数据容易被篡改,…

JWT认证机制

官方文档

JWT文档

原理简介

客户端通过服务端认证之后,由服务端返回一个JSON对象,发回到客户端。客户端保存该对象用于以后服务器访问凭据,服务端完全依赖该JSON对象来验证客户端的身份。由于JSON数据容易被篡改,因此在服务器生成该对象之后会对该对象进行签名,防止数据被篡改。JWT token校验,基于token本身携带的内容和密钥

应用场景

  • 充当认证令牌,替代传统的session数据存储,通过jwt完全的依赖客户端保存认证信息

  • 基于jwt可携带数据的特性,可将其用于数据传输、信息交换的场景

JWT构成

jwt结构分为三个部分,Header、Payload、Signature

  • Header:Algorithm(算法),即签名算法。

  • Payload:存储信息的JSON对象

  • Signature:Payload基于Header指定算法的签名结果

  • Header与Payload部分,本身并没有被加密,而是做了Base64URL 编码。

  • Base64URL与Base64算法类似,Base64中+、/和= 在URL中有特殊含义,因此Base64URL 对它们做了处理

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

如上面的例子所示,JWT就是一个字符串,由三部分构成:

  • Header(头部)
  • Payload(数据)
  • Signature(签名)
header

JWT的头部承载两个信息:

  • 声明类型,这里是JWT
  • 声明加密的算法
{'typ': 'JWT','alg': 'HS256'
}

然后将头部进行Base64编码(该编码是可以对称解码的),构成了第一部分。

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
payload

载荷就是存放有效信息的地方。定义细节如下:

iss:令牌颁发者。表示该令牌由谁创建,该声明是一个字符串
sub:  Subject Identifier,iss提供的终端用户的标识,在iss范围内唯一,最长为255个ASCII个字符,区分大小写
aud:Audience(s),令牌的受众,分大小写的字符串数组
exp:Expiration time,令牌的过期时间戳。超过此时间的token会作废, 该声明是一个整数,是1970年1月1日以来的秒数
iat: 令牌的颁发时间,该声明是一个整数,是1970年1月1日以来的秒数
jti: 令牌的唯一标识,该声明的值在令牌颁发者创建的每一个令牌中都是唯一的,为了防止冲突,它通常是一个密码学随机值。这个值相当于向结构化令牌中加入了一个攻击者无法获得的随机熵组件,有利于防止令牌猜测攻击和重放攻击。
aud(audience): 受众
nbf(Not Before): 生效时间

也可以新增用户系统需要使用的自定义字段

然后将其进行Base64编码,得到Jwt的第二部分:

JTdCJTBBJTIwJTIwJTIyc3ViJTIyJTNBJTIwJTIyMTIzNDU2Nzg5MCUyMiUyQyUwQSUyMCUyMCUyMm5hbWUlMjIlM0ElMjAlMjJKb2huJTIwRG9lJTIyJTBBJTdE
Signature

这个部分需要Base64编码后的Header和Base64编码后的Payload使用 . 连接组成的字符串,然后通过Header中声明的加密方式进行加密($secret 表示用户的私钥),然后就构成了jwt的第三部分。

// javascript
var encodedString = base64UrlEncode(header) + '.' + base64UrlEncode(payload);
var signature = HMACSHA256(encodedString, '$secret');

将这三部分用 . 连接成一个完整的字符串,就构成了 jwt

JWT几个特点
  1. JWT 默认是不加密,不能将秘密数据写入 JWT。
  2. JWT 不仅可以用于认证,也可以用于交换信息。有效使用 JWT,可以降低服务器查询数据库的次数。JWT 的最大缺点是,由于服务器不保存 session 状态,因此无法在使用过程中废止某个 token,或者更改 token 的权限。也就是说,一旦 JWT 签发了,在到期之前就会始终有效,除非服务器部署额外的逻辑。
  3. JWT 本身包含了认证信息,一旦泄露,任何人都可以获得该令牌的所有权限。为了减少盗用,JWT 的有效期应该设置得比较短。对于一些比较重要的权限,使用时应该再次对用户进行认证。
  4. 为了减少盗用,JWT 不应该使用 HTTP 协议明码传输,要使用HTTPS 协议传输。

加密和签名的区别

  • 加密是可逆的,签名是不可逆的
  • 非对称加密:公钥加密,私钥解密
  • 非对称签名:私钥签名,公钥验签(同样的算法对数据做签名,得到的签名是一样的)
http://www.ds6.com.cn/news/62108.html

相关文章:

  • swing做网站2024年重大政治时事汇总
  • 域名申请通过了网站怎么做百度关键词推广工具
  • 微信旅游网站建设营销型网站建设公司价格
  • 怎么用axure做h5网站线上推广软件
  • 有什么好的网站查做外贸出口的企业专注网站建设服务机构
  • 株洲做网站需要多少钱网络营销主要学什么
  • 小程序需要icp许可证吗如何优化企业网站
  • 用phython做网站2022年最新最有效的营销模式
  • 怎样做 建立自己做独立网站seo综合查询平台
  • 做网站维护要多少钱一年百度数字人内部运营心法曝光
  • 淮安市汽车网站建设背景seo排名赚挂机
  • 经营性网站备案申请书网络营销的应用研究论文
  • 二次疫情最新消息seo网站推广方法
  • 找个做游戏的视频网站重庆seo推广服务
  • 个人网站 建站seo推广公司教程
  • 为公益组织做网站引流推广多少钱一个
  • 上海闸北网站建设电脑培训学校在哪里
  • h5商城网站怎么做如何外贸推广
  • ruby on rails 社区网站开发 pdf小程序开发流程详细
  • 设计本网站怎么样百度广告投放平台
  • 郑州网站建设网站开发百度联盟怎么加入
  • 网站建设营销推广实训总结企业微信营销管理软件
  • 水头做网站的公司今日头条10大新闻
  • 免费可以做旅游海报 的网站温州最好的seo
  • 做网站需要注意的seo资源网站 排名
  • 建设网站应该怎么做潍坊seo推广
  • 哪家网站做教育培训机构转让看b站视频软件下载安装手机
  • 怎么从网站知道谁做的3步打造seo推广方案
  • 广东省级建设主管部门网站宽带营销案例100例
  • 请专业做网站的老师seo网站优化推广费用