jwt

作者: 天问ing | 来源:发表于2020-11-03 14:42 被阅读0次

jwt

json web token,一般用于用户认证(前后端分离、微信小程序、app开发)
  • 传统的token认证

    用户登录,服务端生成token返回给前端,并把相应的token保存到服务端,前端下次请求携带token,服务端进行token验证,通过返回成功信息
    
  • jwt

    与传统的token方式不同的是:服务端不保存token,每次前端携带的token过来,服务端token的验证过程是通过相关的校验算法来进行验证的
    

    注意:jwt生成的token是由三段字符串组成连接起来的

    • 第一段字符串,header,内部包含算法/token类型

      json转化成字符串, 然后做base64url加密

      {
          "alg": "HS256",
          "typ": "JWT"
      }
      
    • 第二段字符串,payload,自定义数据

      json转化成字符串,人后做base64url加密

      {
          "id": "123",
          "name": "张三",
          "exp": 1235 # 超时时间
      }
      
    • 第三段字符串

      1. 第1,2部分密文拼接起来
      2. 对前2部分的密文进行HS256加密 + 加盐
      3. 对HS256加密后的密文进行base64url加密
  • 用户再次请求携带jwtoken

    • 获取token
    • 对token进行切割
    • 对第二段进行base64url解密,获取payload
    • 对第1,2段拼接进行HS256加密 + 加盐生成的密文和对第三段解密出来的密文进行对比,相同表示通过,否则token失效

相关文章

  • JsonWebToken

    JWT (JsonWebToken) JWT官网['https://jwt.io/'] JWT简介 1.JWT(J...

  • JWT介绍和使用

    最权威网址 JWT官网: https://jwt.io/ 什么是JWT Json web token (JWT),...

  • JWT实现token验证

    JWT官网:https://jwt.io/[https://jwt.io/] JWT(Java版)的github地...

  • 使用RSA公私钥实现JWT令牌的签名和验签

    使用RSA公私钥实现JWT令牌的签名和验签 1、什么是JWT令牌 JWT基本概念可从JWT[https://jwt...

  • JWT Spring-security

    JWT设计原理 JWT结合spring-security在项目中的应用 JWT[https://jwt.io/in...

  • JWT的介绍解析

    JWT的介绍解析 一、什么是JWT?了解JWT,认知JWT 首先jwt其实是三个英语单词JSON Web Toke...

  • JWT、SWT、SAML

    一、 JWT from:https://jwt.io/introduction[https://jwt.io/in...

  • jwt 在微服务中应用

    jwt token jwt 在api 方式中表中的token生成,验证以及获取jwt解密后携带的用户信息 jwt ...

  • FusionAuth JWT

    本文介绍基于 FusionAuth JWT 的 JWT 实现方法。 目录 FusionAuth JWT 简介 代码...

  • .Net Core接入JWT

    JWT网站:https://jwt.io/ JWT基础内容:https://baijiahao.baidu.com...

网友评论

      本文标题:jwt

      本文链接:https://www.haomeiwen.com/subject/omnbvktx.html