前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于JWTtoken的管理问题

关于JWTtoken的管理问题

作者头像
py3study
发布于 2020-01-19 02:56:44
发布于 2020-01-19 02:56:44
1.2K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

JWT简介:

     Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。因为网络上有很多关于jwt的详细介绍了,所以我这里就不再赘述。但是JWT的大概还是要简要讲一下的。

  众所周知,在现在的互联网世界中,越来越多的网站之间因为业务关系需要频繁的跨域互相访问,但是由于HTTP协议的同源策略,在跨域访问中如何携带用户个人信息认证就是一个大问题了。为了安全,cookie是只能在同域名下才能作用,这也使之前一直常用的session和cookie来保持用户状态的机制在这种情况下无能为力。而JWT也由此应运而生,越来越多的应用在了大型网站的单点登录中了。

  简单叙述一下jwt的构成,jwt总共由3个部分构成,分别是header头部,用来存储该token的加密方式和一些简介。payload部分,用来存储用户的非敏感信息和一些因为业务需要所需的数据。而header和payload都是json格式的数据,通过可以互相转化的base64转码成字符串,这也是为什么在token中不要携带用户敏感信息的圆心。最后的部分是signature,它由保存在公司内部的密钥和前面的header还有payload通过header部分里声明的加密方式以及一些加盐操作加密而成。三个部分分别用 . 隔开,最终形成header.payload.signature这个形式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
header:
{
  'typ': 'JWT',
  'alg': 'HS256'
}

base64(header)  --> eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

payload:
{
  "sub": "1234567890",
  "name": "John Doe",
  "admin": true
}

base64(payload)  --> eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9

最终组成 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

  JWT是在用户注册或者登陆之后通过服务器签发给客户端,大部分客户端通过localstorage来存储token,这样就可以在前端发起请求时主动携带上token,然后服务器接收之后通过验证来判断该用户的认证信息了。也有少部分客户端是将token存储在cookie中的,在此不谈。

  那么今天要谈的问题来了,因为token是存储在客户端的,那么就表示着一旦服务器在签发token之后,除了等待token到时限失效之外失去了管控token的能力。一旦客户端token丢失等情况发生,就会产生用户安全问题。

解决方案:

服务器在用户第一次登陆或者注册成功后在签发token时可以给该token配置一个token_id,并保存到服务器的redis或者mysql数据库中。用户在访问时如果携带了token便需要先经过token_id的校验,再进行后面用户身份信息的校验。一旦用户发起安全申请,便立即删除服务器保存的token_id,而用户携带的token在token_id这个步骤的校验失败之后便会跳转到登录界面,由服务器重新签发token。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云桌面和云服务器有什么关联?如何理解两者之间的关系
云桌面和云服务器都是近年来比较热门的概念,很多需要快速实现分布式部署以及对业务有强烈扩展需求的用户,都会对云服务有切实的需求,那么云桌面和云服务器有什么关联?如何理解两者之间的关系呢?
用户8715145
2021/11/11
2K0
虚拟主机、VPS、云服务器三者的区别
虚拟主机相对于其他两种云主机的主要区别就是,虚拟主机无需用户部署网站环境,通常默认支持多种建站环境,用户直接上传建站程序安装就可以使用。由于虚拟机空间不支持连接到桌面进行其他操作,所以一般服务器租用商都会提供一个控制面板,可以进行域名绑定、文件解压缩等简单操作。
兮动人
2021/06/11
14.3K0
云服务器操作桌面的链接 链接的IP及版本的要求
如今网络系统的搭建都开始在摈弃传统的模式开始选择云服务器与云数据库的形式,除了无需搭建专门的机房和技术人员负责维护之外,在使用上也不受到主机位置的限制可以实现移动运作。特别是远程桌面的方式,即便是连接的电脑没有携带,也可以通过外网的IP链接在异地办公操作。而云服务器操作桌面如何连接呢,不少的用户还没有用过。
用户8715145
2021/11/02
5.5K0
云桌面的服务器大小,云桌面对服务器配置要求
我们都知道,云服务器可以带动多个云终端进行服务,那么,它的体积是不是很大呢?因为在我们的印象当中,传统的数据中心想要满足如此大的建算量,都需要很大的空间来为它进行服务。而作为云服务器,它的优势肯定是更轻便的,那么它到底多大?确实很多朋友都不知道。今天我们就一起来揭秘一下云桌面的服务器大小吧!
用户8715145
2021/10/22
8.3K0
【腾讯云的1001种玩法】云服务器搭建Python环境
钟志远
2017/03/02
23.6K5
【腾讯云的1001种玩法】云服务器搭建Python环境
云桌面服务器有什么作用?云服务器的功能有哪些?
很多人在使用云桌面时,都会对这种全新的电脑使用方式感到非常的新奇,这种完全看不到主机存在的云桌面其实主要是通过云服务器来进行数据处理的,那么云桌面服务器有什么作用?云服务器的功能又是什么呢?
用户8715145
2021/11/16
7.3K0
云服务器对外ddos攻击?云服务器攻击怎么预防?
Ddos攻击是一种针对IP地址的攻击,这种攻击能够让服务器瞬间瘫痪,严重时甚至会造成用户信息丢失等问题。很多用户在使用云服务器时,会突发奇想能不能利用云服务器来攻击其他电脑,那么云服务器对外ddos攻击怎么实现?云服务器攻击怎么预防?
用户8715145
2021/09/03
13.2K0
云服务器如何重启?云服务器重启和正常电脑有哪些不同?
云服务器目前在市场上非常受用户的欢迎,很多朋友都开始使用这种高效低价的产品来处理各种工作任务,但云服务器在长时间使用后也会出现卡顿的现象,很多朋友都想要通过重启来解决问题,那么云服务器如何重启?云服务器重启和正常电脑有什么不同呢?
用户8715145
2021/09/09
15.9K0
我用过最糟糕体验的云服务器
首先并非是要故意抹黑亿速云,而且我也不是第一次使用亿速云的服务器,但是这一次让我觉得非常的不可思议,也不可理解,差一点丢失我多个刚起步运营的网站,而且技术人员处理问题也真的算是奇葩了,下面就简单的分享一下这次糟糕的云服务器体验和一系列骚操作的售后服务体验。
张子凡
2023/01/09
2K0
我用过最糟糕体验的云服务器
云桌面怎么看自己连接的服务器?云桌面可以看到哪些信息?
很多正在使用云桌面的朋友,对于网络那头的云服务器的了解非常的少,甚至很多人不知道如何来查看云服务器的相关信息,其实查看云服务器信息并不是非常困难,下面就来简单介绍一下云桌面怎么看自己连接的服务器?云桌面可以看到云服务器哪些信息呢?
用户8715145
2021/11/16
7.1K0
各平台云服务器选择和对比
相信大多数学习计算机相关专业的小伙伴都应该知道什么是云服务器;简单来说云服务器就是,别人配置好放到远端给你使用的一台电脑,你通过ssh或者其他方式来登录这台电脑,并使用这台电脑完成你想要做的事情;并且大多数云服务器提供商都会顺带提供静态的公网IP给你使用,这样你部署的应用就可以被别人访问了;
Kami米雅
2021/11/26
20.7K2
各平台云服务器选择和对比
远程连接云服务器 虚拟主机和云服务器有什么样的区别呢?
远程连接云服务器真的有那么难吗?其实只要学会了方法还是非常简单的,就算自己是一个什么都不懂的电脑小白,也能够轻松明白该如何操作。
用户8715145
2021/09/03
10.4K0
关于使用腾讯云服务器的体验
因为平时学习的原因,需要用到云服务器来部署自己开发的项目进行测试,便在网上寻找了多家云服务器,最终找到了腾讯云这个平台。
用户8877416
2021/08/18
11.4K1
关于使用腾讯云服务器的体验
云服务器怎么创建ftp账号?创建中需要注意哪些问题?
云服务器的使用非常方便,基本上和家用电脑并没有任何区别,只不过是通过网络来连接到远程的云服务器上,所使用的算力来自于网络端的计算机。很多用户想要在云服务器上建立FTP账号,那么云服务器怎么创建ftp账号?创建中需要注意哪些问题呢?
用户8715145
2021/09/09
8.3K0
将 Hexo 部署在云服务器
将 Hexo 部署在云服务器 前言 众所周知,使用 GitHub Page 的访问速度令人发指,当然也有很多人选择部署到 Vercel,这便是我之前的选择,免费,同时还有着更快的速度。但说到底,云服务器往往是更好的选择,只要钱到位 😑。 使用宝塔面板可以比较方便快速的进行部署,不过我更想自己实际动手操作,也一边学习 Linux,就不使用了。 准备工作 本文假设你拥有 Hexo 建站相关的知识,相关的问题不再赘述,你也可以点击这里查看 Hexo 建站相关的知识。 在阅读本文之前,你需要做好以下准备:
EmoryHuang
2022/10/31
5.4K0
云桌面和服务器用gpu用量是什么?云桌面可以做什么?
最近几年,云的概念是越来越流行了,对于许多朋友来说,使用云服务和云桌面已经不见得是什么稀奇的事儿了。但是我们的云服务,是如何为我们提供计算的呢?其实要了解云桌面和云服务是怎样来帮助我们完成这些远程操作的,我们就要分析云桌面和服务器用gpu用量。
用户8715145
2021/10/22
3.7K0
腾讯云服务器
阿里云上搭建php+mysql服务,并使用ftp将本地php文件及数据库文件上传到服务器
达达前端
2019/07/03
383.4K3
腾讯云服务器
云桌面服务器cpu主频一般是多少?云桌面可以增加算力吗?
云桌面是一款价廉物美的计算机使用方式,一般来说云桌面需要云服务器来提供运算和储存方面的支持,但很多朋友对于云服务器的CPU主频了解较少,那么云桌面服务器cpu主频一般是多少?云桌面使用需要增加算力吗?
用户8715145
2021/11/16
7.9K0
腾讯云服务器如何搭建远程桌面 电脑正式版才可实现远程
任何网络系统的搭建都需要建立在服务器的基础上,通过服务器完成系统的运作和基础数据的存储等,从而实现各项功能。而在服务器的选择上,更多的企业倾向于腾讯这样的大品牌。那么腾讯云服务器如何搭建远程桌面自然也是在进行系统搭建运作当中需要了解到的问题,因为如果经常需要外出的话,携带电脑会不方便。
用户8715145
2021/11/03
17.8K0
轻云服务器远程桌面怎样连接?轻云服务器有哪些优势?
近几年来轻云服务器技术变得越来越成熟和普及,这种技术产品在多个行业领域都发挥着作用,包括游戏娱乐、电子商务以及物流管理等,它具有便捷可靠以及简单安全等特点,轻云服务器远程桌面如何连接?轻云服务器的优势是什么?
用户8715145
2021/11/10
15.8K0
推荐阅读
相关推荐
云桌面和云服务器有什么关联?如何理解两者之间的关系
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验