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

一步步教你做电商网站建设网站的企业发展历程

一步步教你做电商网站,建设网站的企业发展历程,搜索引擎网站盈利模式,带动画的网站模板JWT学习资料 1.什么是JWT?【头部(Header)、载荷(Payload)和签名(Signature)】2.为什么要用JWT?3.JWT 使用全局变量JWT 创建JWT的应用(token放在返回信息中)JWT验证 4.JWT 原理 1.什么是JWT?【头部(Header)、载荷(Payload)和签名(Signature)】 JWT(JS…

JWT学习资料

  • 1.什么是JWT?【头部(Header)、载荷(Payload)和签名(Signature)】
  • 2.为什么要用JWT?
  • 3.JWT 使用
    • 全局变量
    • JWT 创建
    • JWT的应用(token放在返回信息中)
    • JWT验证
  • 4.JWT 原理

1.什么是JWT?【头部(Header)、载荷(Payload)和签名(Signature)】

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络上安全传输信息的简洁、自包含的方式。它通常被用于身份验证和授权机制。

JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)

  1. 头部(Header):包含了关于生成该 JWT 的信息以及所使用的算法类型。
  2. 载荷(Payload):包含了要传递的数据,例如身份信息和其他附属数据。JWT 官方规定了7个字段,供选用:
  • iss(Issuer):签发者。
  • sub(Subject):主题。
  • aud(Audience):接收者。
  • exp(Expiration time):过期时间。
  • onbf(Not Before):生效时间。
  • iat(Issued At):签发时间。
  • jti(JWT ID):编号。
  1. 签名(Signature):使用密钥对头部和载荷进行签名,以验证其完整性。

2.为什么要用JWT?

JWT 相较于传统的基于会话(Session)的认证机制,具有以下优势:

  1. 无需服务器存储状态:传统的基于会话的认证机制需要服务器在会话中存储用户的状态信息,包括用户的登录状态、权限等。而使用 JWT,服务器无需存储任何会话状态信息,所有的认证和授权信息都包含在 JWT 中,使得系统可以更容易地进行水平扩展。
  2. 跨域支持:由于 JWT 包含了完整的认证和授权信息,因此可以轻松地在多个域之间进行传递和使用,实现跨域授权。
  3. 适应微服务架构:在微服务架构中,很多服务是独立部署并且可以横向扩展的,这就需要保证认证和授权的无状态性。使用 JWT 可以满足这种需求,每次请求携带 JWT 即可实现认证和授权。
  4. 自包含:JWT 包含了认证和授权信息,以及其他自定义的声明,这些信息都被编码在 JWT 中,在服务端解码后使用。JWT 的自包含性减少了对服务端资源的依赖,并提供了统一的安全机制。
  5. 扩展性:JWT 可以被扩展和定制,可以按照需求添加自定义的声明和数据,灵活性更高。总结来说,使用 JWT相较于传统的基于会话的认证机制,可以减少服务器存储开销和管理复杂性,实现跨域支持和水平扩展,并且更适应无状态和微服务架构。

3.JWT 使用

在 Java 中可以借助 JWT 框架辅助来使用 JWT,例如 hutool 框架,它的介绍:

https://doc.hutool.cn/pages/IWTUtil/

全局变量

/*** 全局变量类*/
public class AppVariable {/** JWT 私钥  */public static final String JWT_KEY  = "blog-spring-cloud-jwt";/** 登录的用户 Token key */public static final String TOKEN_KEY = "Authorization";
}

JWT 创建

Map<String, Object> payload = new HashMap<String, Object>() {private static final long serialVersionUID = 1L;{put("uid", userinfo.getUid());put("manager", userinfo.getManager());// JWT 过期时间为 15 天put("exp", System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 15);}
};
String token = JWTUtil.createToken(payload, AppVariable.JWT_KEY.getBytes());

JWT的应用(token放在返回信息中)

HashMap<String, Object> result = new HashMap<>() {{put("token", token);put("uid", userinfo.getUid());put("username", userinfo.getUsername());put("manager", userinfo.getManager());
}};
return AjaxResult.success(result);

JWT验证

result = JWTUtil.verify(token, AppVariable.JWT_KEY.getBytes());

4.JWT 原理

JWT 的本质是:秘钥存放在服务器端,并通过某种加密手段进行加密和验证的机制。加密签名=某加密算法(header+payload+服务器端私钥)

http://www.yayakq.cn/news/994918/

相关文章:

  • 做极速赛车网站公司网站建设上海找谁
  • 官方网站后台图片下载怎么做WordPress主题Perimg
  • 快速提高网站权重网页版手游
  • 电子商务网站规划、电子商务网站建设自己制作网站的方法是
  • 做历史卷子的网站网站建设设计要点
  • 做网站美工的前途怎么样茂名网站建设公司哪个好
  • 建立网站就是制作网页吗广州微信网站建设哪家好
  • 网站建设要学哪些软件有哪些方面主要的网站开发技术路线
  • 网站建设的主要流程有哪些域名是什么有什么用
  • 你喜欢的公司网站logo注册流程及费用
  • 2016做网站还赚钱吗做公司 网站建设价格低
  • 公司网站建设佛山哪家大学生做网站赚钱
  • 做模特网站学校网站建设工作领导小组
  • 网站服务器结构图闽江学院教务管理系统
  • 网站用心购买域名要多少钱
  • 网站建设中魔板电脑网页制作模板
  • 网站管理助手4.0 破解搬瓦工做网站稳定吗
  • 广州小程序开发定胜济宁网站建设 优化培训
  • 目录网站开发怎样建一个收费网站
  • 网站建设需wordpress套餐
  • 海尔官网 网站建设的目标5免费网站建站
  • 网站建设需要个体营业执照沈阳三好街做网站公司
  • 吉林省四平市网站建设免费个人网页模板
  • 一个人做运营网站浙江seo博客
  • 黑客如何攻击网站网站大图怎么优化
  • app数据分析软件如何对网站进行优化
  • 太仓网站建设教程昆明seo技术培训
  • 安卓开发简单网站开发代码下载做网站公司价格
  • 网站建设好与管理在哪就业界面设计分析
  • 怎样建网站教程网站管家