首页 > 其他分享 >token、jwt 和 jwt刷新token

token、jwt 和 jwt刷新token

时间:2024-04-01 12:12:27浏览次数:31  
标签:jwt JWT Token token 刷新 Redis 服务端 客户端

 

  概念涉及到身份验证和授权的机制。

  

  1. Token概念:

    • 在网络通信中,Token 是一个用于身份验证和授权的令牌。它通常是一个字符串,由服务端生成并发送给客户端,客户端在后续的请求中携带该令牌以证明自己的身份。
    • Token 可以是任意形式的字符串,比如随机生成的字符串、加密后的数据、基于 JSON 的 Web Token(JWT)等。
    • 使用 Token 来进行身份验证可以避免在每次请求时都需要携带用户名和密码的安全隐患,同时也提高了系统的可扩展性和灵活性。
  2. Token的作用:

    • Token 的主要作用是验证用户的身份信息和授权信息。
    • 当用户登录成功后,服务端会生成一个 Token 并返回给客户端,客户端在后续的请求中携带该 Token,服务端通过验证 Token 的合法性来确定用户的身份和权限。
  3. Token存储于Redis:

    • 在实际应用中,Token 可以存储在不同的地方,比如数据库、内存、文件系统等。其中,将 Token 存储在 Redis 中的优势在于 Redis 具有高效的内存存储和快速的读写能力,可以有效地管理大量的 Token 数据。
    • 存储 Token 在 Redis 中还可以结合 Redis 的过期策略来实现 Token 的自动过期和续期,从而提高系统的安全性和可维护性。
  4. JWT(JSON Web Token):

    • JWT 是一种开放标准(RFC 7519),定义了一种紧凑且独立的方式,用于在各方之间以 JSON 对象的形式安全地传输信息。
    • JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。它们之间使用英文句点 . 连接起来,形成一个由三段 Base64 编码的字符串。
    • JWT 的优势在于它可以在服务端生成一个 Token 并发送给客户端,客户端在后续的请求中将 Token 携带在 HTTP 请求头中,服务端可以通过解析和验证 JWT 来识别用户的身份和权限。
    • JWT 的另一个特点是它是无状态的,即服务端不需要保存 Token 的状态信息,因为 Token 中已经包含了所有必要的信息。
  5. JWT刷新Token:

    • 为了提高系统的安全性,通常会设置 Token 的过期时间,当 Token 过期后需要重新生成新的 Token。而 JWT 也提供了一种刷新 Token 的机制。
    • 当用户的 Token 过期时,客户端可以向服务端发送一个特殊的请求(例如 Refresh Token 请求),服务端会根据用户的身份信息生成一个新的 Token 并返回给客户端。
    • 刷新 Token 的过程通常需要使用到 Refresh Token,它是一种特殊的 Token,用于获取新的 Token。Refresh Token 通常具有更长的有效期,并且只能在一定条件下使用(例如 Token 过期后)。

 


 

  jwt文档:https://www.cnblogs.com/warmNest-llb/p/18030484

  

 

标签:jwt,JWT,Token,token,刷新,Redis,服务端,客户端
From: https://www.cnblogs.com/warmNest-llb/p/18108105

相关文章

  • JWT示例与原理
    简介JWT(JSONWebToken)是一种去中心化的web认证方案,信息存储在客户端。数据结构JWT通常由3部分组成,Header、Payload、Signature。每个部分都是用Base64Url编码后的字符串,每个部分之间由点分割。形如Header.Payload.Signature注:Base64Url是Base64的一个变种,主要是将Base6......
  • 鸿蒙开发岗年薪又又又刷新认知,哄抢、急招背后的真相是什么?
    随着科技的快速发展,鸿蒙开发岗已经成为了当今社会中备受瞩目的职业之一。年薪水平都备受关注,而今年,鸿蒙年薪不断刷新认知,哄抢、急招现象更是屡见不鲜。那么,背后的真相是什么呢?一、行业发展趋势与市场需求随着鸿蒙系统快速发展,越来越多头部大厂启动鸿蒙原生应用开发、开始拥......
  • net core SSO 单点登录和控制器中获取Token和UserId
    netcoreSSO单点登录和控制器中获取Token和UserId在写WebApi时常常是要获取登录用户的oken和UserId的,本文就这个需求来分享一下我在实际项目中的处理代码。代码控制器中注入[ApiController]//[Authorize][ServiceFilter(typeof(LDAPPLoginFilter))][Route("/file/api/......
  • 解决:NuxtJS项目 ,刷新localhost:3000/product/details/111页面的时候useFetch不工作!
    背景在nuxt项目中,点击产品列表跳转到详情页是正常的,路径为:localhost:3000/product/device?id=111但是对着浏览器刷新之后,发现不在执行请求了。要解决问题:刷新浏览器之后正常展示产品内容。   目录层级|pages|product|device.vue|......
  • 使用egg.js发送jwt
    下载jwt    配置jwtpnpmiegg-jwt plugin.js/**@typeEgg.EggPlugin*/module.exports={jwt:{enable:true,package:'egg-jwt'}};config.default.jsconfig.jwt={secret:"hakurei77"//密钥}创建中间层    app->......
  • System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3
    VS2022.netCore5.0项目编译没问题,运行时报这个错System.IO.FileNotFoundException:“Couldnotloadfileorassembly'System.Runtime,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'.系统找不到指定的文件。” 我这里遇到这个问题的原因是,v......
  • win10开机桌面无限刷新闪屏怎么办?win10开机桌面无限刷新闪屏全方位解决方法分享
    有的win10用户在电脑开机之后遇到了桌面无限刷新闪屏的情况,导致无法正常操作,那么应该这么解决呢?下面一起来看看吧!系统配置还原默认设置按Win+R键打开运行对话框,输入msconfig并按回车键打开系统配置窗口。在“常规”选项卡下,选择“正常启动”(这将禁用非核心启动项)。转到......
  • 在使用elment官网组件报Module parse failed: Unexpected token错误
     错误结果如下原因是当前的Vue工程不支持typescript语法需要将script中的lang="ts"去掉<template><el-radio-groupv-model="radio"><el-radio:value="3">OptionA</el-radio><el-radio:value="6">Opti......
  • Redis发布订阅模式解决Guava Cache本地缓存刷新问题
    为什么要用本地缓存可以加快资源访问速度,减少第三方IO延迟,也避免了网络调用的开销,将数据存储在本地jvm内存中可以减少外部系统的压力,可以将频繁访问、且更新场景较少的数据缓存起来,降低对远程服务或者数据库的请求次数,降低外部系统负载,提供系统整体的稳定性缺点:但是同时也得......
  • IPython刷新函数模块
    技术背景IPython是一个非常灵活好用的python终端工具,而且比Python自带的终端工具还多了命令行高亮和自动索引的功能,也是常用的JupyterNotebook的基础工具。在使用IPython的过程中可以使用它的一些独有的功能——直接运行Shell命令行,和魔术命令。本文介绍的是其中一种魔术命令—......