游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

APP服务端接口,用jwt还是用redis和token,分别

  jwt属于无状态设计,用户登陆的信息关键存放在jwt加密数据里,这种设计下服务器不需要存储jwt密文,只需要解密就能拿到授权信息等用户信息。这种设计是一种利用计算力减少token设计下数据库及缓存的压力和设计复杂度,因此它的本质就是不存储登陆授权,而通过密文本身保存授权信息。
  token加redis设计,是一种登陆后分配随机token,然后记录token与用户信息对应关系的设计。
  很明显,这两张设计的区别就在于token实际上是需要服务器存储,每次验权需要查询数据库。jwt不需要服务器存储,信息本身就存储于jwt本身,这种模式无需使用数据库。
  但是这种流行的jwt有一个设计上的缺陷,他通过密文传输用户信息,那么服务器在这种基础结构下是无法做到关闭用户登陆授权的操作,如果用户的jwt密文被偷窃,那么黑客就能以用户身份登陆,并且即使知道密文丢失,也无法关闭被偷窃的jwt密文。为了应对这一问题,可以使用jwt内部验证有效期和jwt黑名单模式,但是有效期始终无法做到及时停止jwt授权,这是一个治标不治本的方法。而jwt黑名单模式,则需要数据库或内存存储黑名单,那么,这实际上违背了jwt的免数据库设计原则。
  因此,如果严格按照两种模式设计,jwt更适合低安全级别的服务器设计,如普通的博客、阅读器等等,这种服务允许不严格的登陆授权,即使密文丢失也不会造成用户的严重损失,却能获得较高的服务性能。
  token模式,必须配合数据库进行存储和查询,因此性能较低,但token模式却能做到及时的授权关闭,已经登陆授权可见可查,每一次token都会有对应的记录。因此token模式适合较高安全度和用户登陆等信息分析的系统,如政府系统,支付系统等不可能允许高权限的token被偷窃却不能及时关闭授权。
  jwt,适合轻量的系统和权限不严格系统。
  token,适合重量系统和权限有严格要求的系统。
  谢谢大家的阅读和头条的推荐,我再来详细的和大家讨论下这两者在实现上的区别,这样大家可能更方便的理解这两个不同的概念。
  我们讨论的这两种方式只限于规范实现,如果有其他优化或者衍生设计模式则不在讨论之内。
  token:
  普通的token方式采用的是:登录生成随机字符串(token)服务器保存token与用户信息的对应关系
  对应用户利用token校验的流程是token查询token对应用户信息各系统根据用户信息进行业务处理。
  很明显可以看出,token模式下的字符串实际上不需要和用户信息有任何关联,生成的token字符串的要求就是唯一,不能被其他用户占有,否则就会出现用户登录后实际上是以其他人身份进行业务处理。如果字符串是随机生成,那么黑客就无法猜测token的生成规律,也无法从token直接猜测到用户相关信息。
  jwt:
  jwt采用的生成:登录生成带有用户数据的加密字符串(该字符串服务器并不存储,直接下发给客户端)
  校验:客户端将存储的jwt密文带上服务器解密密文,获取到用户信息
  可以看出,jwt的凭证不仅要求唯一,还要求密文本身实际上是带有了用户信息,当然这块可以是非敏感信息,这只是实现上的细节区别,和结构本身没有特别大的关联。服务器本身并没有存储这次jwt密文,每次服务器的处理都是直接解密jwt密文。这样做的好处就是服务架构内直接抛弃了登录相关的传统token系统,并且服务器不再管理登录状态,token有效状态等问题。
  而jwt带来的问题,凭证实际上的一串密文,更多的用户信息或session信息需要更大的密文来存储,进而每次请求都带上jwt就会使网络传输的内容变大,加大了网络开销;凭证是一串密文,那么如果黑客破解了服务器的加密方式,那么密文实际上就是用户信息在网络上传输,黑客可以直接伪造jwt登录或通过jwt密文获取到用户信息;jwt本身不管理jwt的有效性,一旦密文被偷窃,无法做到关闭掉黑客的授权。
  谢邀。什么是JWT
  JWT(JsonWebToken),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。由头部(Header)、负载(Payload)、签名(Signature)三部分构成,其中每一部分使用Base64编码处理。
  Header中存储了所使用的加密算法和Token类型。
  Payload是负载,JWT规范规定了一些字段,并推荐使用,当然每一个开发者也可以自己指定字段和内容。需要注意的是,该部分内容只经过了Base64编码,相当于明文存储,所以不要放置敏感信息。
  而Signature,则是使用Base64编码后的Header和Payload以及一个秘钥,使用header中指定签名算法进行签名。
  可用下面的图对上述概念进行总结:
  JWT的优点问题
  JWT属于无状态,不依赖Cookie,可以在禁用Cookie的浏览器中运行,可有效防止CSRF攻击;服务端不用存储session,易于扩展;相比XML更加简洁,更加适合在HTTP环境中传输。
  那么JWT都存在哪些问题呢?主要集中在以下几个方面
  无法作废已颁布的Token,比如说用户注销这个功能,传统的基于session的方案,只需在服务端删除该session即可,因为状态在服务端存储。而JWT就比较难办到,因为JWT是无状态的,存储在客户端,即使被删除了,一定有效期内服务端并不知道,它仍然是有效的。
  无法应对过期的数据
  安全机制不够高JWT适用场景
  RestfulAPI无状态验证
  一次性验证:比如用户注册某网站后需要发送一封邮件让其激活账户,通常该邮件中包含一个链接,该链接往往含有以下几个特点:能够标识唯一用户、不能被篡改、具有时效性。RedisToken
  自己生成一个32位的key,value为用户信息,客户端访问时服务端首先判断Redis里是否有该Token,如果有,则加载该用户信息完成登录。服务需要存储下发的每个token及对应的value,维持其过期时间。
  本文为作者一个程序员的奋斗史悟空问答原创文章,未经允许转载、抄袭必究!
  很高兴能回答你的问题,这里我说下我对jwt、redis还有token的理解,可能和楼主理解的有不一样的地方。redis
  redis是一种常用的缓存技术,是一种非关系型数据库,常见类型包括字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sortedsets),在APP服务端的接口中,并不充当检验用户唯一性的标准,更多的是处于mysql数据库之前的一种数据处理。
  jwt
  jwt和token用于判断用户是否登录,我们在开发当中经常就把加密后的jwt等同于token,APP在请求登录接口时返回token,在个人中心等需要判断用户身份的接口中将返回的token值传递给服务器端进行验证。
  jwt的具体使用就不在这里做过多的介绍,简单说一下操作过程
  服务器通过jwt的加密方式生成一串字符串,在请求接口中返回给客户端,客户端在所需接口中将token传递给服务器,服务器再进行解密,并进行一系列逻辑操作。核心过程可以理解为加密和解密的过程,如果传递过来的字符串解密失败,那么可以返回用户信息不存在者登录已过期
  token
  token在上边也介绍了,其功能是验证用户是否已登录,然后返回用户相应的信息。
  token的生成显得就很随意了,你可以md5加密字符串,拼接时间戳,加盐,总之token的生成规则由开发者自己来定,并无固定的生成规则,只要给到客户端,然后再又客户端传递后进行校验。
  希望我的问题能帮助到你。
  以下内容纯手打:jwt是jsonwebtoken的缩写,所以简单讲jwt只是token的一个标准实现,至于为什么要把redis和token结合起来用,是因为token仅存储于客户端,相对于服务端是无状态的,服务端通过标准的解密,实现对token的验证以及获取必要的payload。此时如果需要方便的对客户端进行强制下线或者实现单客户端登录则需要知道当前已经连接了多少客户端,有多少可用的token,这里就借助了redis存储,同时token在服务端也就变成了有状态了,所以请根据具体的使用场景决定是否配合redis等数据库工具
  首先,app端,服务端,是一种典型的前后端分离的数据交换架构。前端(app)通过token从后端服务取数据,后端通过校验token,判断是否给前端(app)返回数据。楼主对jwt的认知不对,下边对这两种进行下说明。
  jwt本身就是一个token,token的一种实现不过这个token自带一些用户权限信息。本身是一种无状态的设计概念,后端加密解密判断jwt本身是否过期有效,后端不存储任何跟token存储有关的东西,只有一套加密生成,解密校验的程序。
  redis和token,redis是一个缓存数据库,可以存档token,可以设置过期时间。楼主所理解的应该是服务端通过redis存储token,然后前端app带着token进行访问的时候,服务端从redis中取token用来校验,如果过期说明token失效,也可能是伪造token。
  最后,两者可以结合使用。
  jwt是生成和校验解密token的工具,redis是缓存,他们之间并不冲突,加起来一起用效果更好,仅仅用token是不够的,因为一但设置token意味着其登录过期时间也就确定了。就无法让其在有效期内失效,这样不合理的所以可以通过redis记录token,控制其的有效性,和记录一些信息。所以token加redis才是正确的选择。
  都可以,通常情况下正式点我会用shiroredis实现权限session认证管理,免去了自己实现session认证的过程,并且它还提供了一些进阶的功能。简陋点的话,redistoken就可以了,要自己去设计实现,通常配合拦截器实现session认证。
  问题很不专业,jwt本质上就是token,另外关redis什么事情?完全不是一类好吗?同时使用jwt和redis的都很多
  就个人的理解而言,各自有其优缺点,并且针对不同的场景需要进行约束性开发。Token机制简述
  Token的用途
  用户在登录APP时,APP端会发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果验证成功,就会生成相应位数的字符产作为token存储到服务器中,并且将该token返回给APP端。
  以后APP再次请求时,凡是需要验证的地方都要带上该token,然后服务器端验证token,成功返回所需要的结果,失败返回错误信息,让用户重新登录。其中,服务器上会给token设置一个有效期,每次APP请求的时候都验证token和有效期。tokenredis机制
  tokenredis机制是中心化的,每次验证token有效性时,都需要访问redis,其核心优点实服务端可以主动让token失效,缺点是每次都要进行redis查询。占用redis存储空间。
  jwt机制
  这是一种无状态身份验证机制,因为用户状态永远不会保存在服务器内存中。服务器受保护的路由将在授权头中检查有效的JWT,如果存在,则允许用户访问受保护的资源。由于JWT是独立的,所有必要的信息都在那里,减少了多次查询数据库的需求。
  用户发起登录请求,验证通过后,服务端创建一个加密后的JWT信息,作为Token返回。在后续请求中JWT信息作为请求头,发给服务端。服务端拿到JWT之后进行解密,正确解密表示此次请求合法,验证通过;解密失败说明Token无效或者已过期。
  jwt的优点主要有:
  1。t是去中心化的,便于分布式系统使用;
  2。基本信息可以直接放在token中。userid,sessionid;
  3。功能权限信息可以直接放在token中。用bit位表示用户所具有的功能权限。其缺点有:服务端无法主动让token失效,另一个是无法很好地控制payload的数据量。小结
  jwt和tokenredis两种方案,没有最优,只有结合不同的业务场景,寻求最适合的方案。
  Jwt是带有签名的客户身份令牌。安全性还是比较高的。但是需要正确使用。它本身主要是证明客户身份,并不包含机密信息。如果需要避免重复使用,可以提供时间戳,可以一次性使用。这样很多安全问题就都解决了。现在很多服务都使用jwt认证。

开学?放价!海信阅读手机全线产品燃爆京东超级秒杀节九月金秋季,学子返校时。近日,在京东超级秒杀节的叠加下,海信手机京东自营旗舰店上演了一场空前的开学阅读季大放价,旗下阅读手机全线产品高额直降,让原本堪称学霸必备备考神器的护眼阅……雷柏XS100蓝牙耳机听大理寺日志共赴来自盛世大唐的冒险之旅大理寺日志》动画,无论是人设还是剧情处理上都有着独到之处。一部好的动漫不仅依靠背后动画公司本身的实力和丰富的经验,还要融合配乐、配音等等细节都能把握得恰到好处。今天不说故事情节……雷柏高端商务无线鼠标M700,推出Qi无线充电款,金属材质充轻松办公要点视觉清爽,造型轻松体感轻盈,充电便捷整体设计富有立体感让不同材质之间产生奇妙的碰撞大面积灰色和银色金属材质的应用在生活和商务之间……飞利浦智能翻译,领携VTR7080由内而外,全新起航雄关漫道真如铁,而今迈步从头越飞利浦翻译器由内而外,全新起航全心力作VTR7080即将亮相百年技术沉淀,打破机译僵局执巨匠之心,谙译术之道成……Origins悦木之源那些年你的爱还在吗?套装抢购中HK320灵芝菇菌抗逆健肤纾缓水200ml灵芝菇菌抗逆健肤纾缓水30ml灵芝菇菌抗逆健肤精华15ml灵芝菇菌抗逆健肤纾缓面膜15mlHK310……去海南免税店购物必看攻略!不看血亏最近,身边好多人趁着暑假,都去海南血拼了想必很多小可爱也在计划海南之旅,所以阿宝给大家整理了去海南免税店必看攻略!!满满都是干货,一定要耐心……骁龙888手机刚上市就降价300元,12G256G,曾首销3随着手机处理器迭代速度的提升,手机型号升级的速度也变得越来越快,尤其是很多原本属于旗舰手机才有的处理器,随着新处理器的面市,也很快沦落到了中端手机上使用。不过由于竞争压力太大,……数智领航,为乡村振兴添新翼如何让农业农村插上数智化的翅膀,智绘乡村振兴新图景?今年,中国移动正式发布《数智乡村振兴计划》白皮书,中移互联网有限公司作为中国移动面向互联网领域设立的专业子公司,聚焦通信互联……请教各位大神,想买一款6寸以下手机,有哪些推荐?谢了?小伊评科技,希望帮到你在目前的手机市场,6寸以下的的手机已经很少见了,毕竟目前手机大屏化是一个趋势。现存的小屏手机已经不多见了,笔者就挑选其中性价比较高的几款推荐给你,本……几种特殊的函数宏封装方式1hr函数宏介绍函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。函数宏本质上为宏,可以直接进……净资产2190亿美元马斯克登顶福布斯全球亿万富豪榜来源:中国新闻网中新网4月6日电美国财富杂志《福布斯》(Forbes)当地时间5日公布2022年全球亿万富豪榜,美国太空探索技术公司创始人、特斯拉首席执行官埃隆马斯克(Elon……大一新生,有没有LCD屏幕,充电快的手机介绍?感谢您的阅读!【大一新生,有没有LCD屏幕,充电快的手机介绍】我一直认为LCD屏幕永不为奴,实际上我们很多人遇到过很多屏幕,包括OLED屏幕,屏幕的体验值各不相同,……
电脑常见的问题电脑是个好东西,但是也有出问题的时候,就像我们是怎么处理的就要靠我们怎么去摸索了。(以下是网络截图:)就比如这个,这种情况就很有可能是CMOS的电池没电了,需要自行……盘点猎场中的恋人夫妻关系,谁才是令人羡慕向往的爱情与婚姻猎场是一部以HR猎头为公司和优秀精英职员搭建平台为背景,以郑秋冬和罗伊人的感情纠葛为主线,郑秋冬从涉世未深的大学生,在商场摸爬滚打,云诡波橘的沉浮中,成长为专业的猎头,智业经济……与34家中国供应商终止合作,苹果哪来的勇气?央视发出警告在台积电宣布所有芯片制程代工价格上调1625之时,却唯独对苹果公司开了绿灯,仅涨价了3!这是库克能在iPhone13在发售之后,立即做出直降800元决定的主要原因。至于苹……2021年了,区块链挖矿游戏是时候证明自己不是骗局近几年来,游戏公司竞相将眼光看向区块链挖矿游戏设计上。仅在2021年初就会有好几家游戏公司宣布会进军到区块链挖矿游戏发展生态中,并有新产品开发。在极大的行业发展前景和5G……史上最实用的钢琴选择指南钢琴,是全球无数音乐爱好者及艺术家们公认的乐器之王。它体型巨大,音色洪亮,而且具有所有乐器中最为宽阔的音域范围,这使得它几乎可以演奏所有类型的音乐流派,从古典到现代,从爵士到流……惊喜福利到,抚州宝骏310W购车优惠0。16万元,期待您的光忙碌的工作,使您倍加疲劳,是时候奖励自己一下了,五菱汽车抚州国鼎销售中心店回馈客户大放价,截止到10月29日,宝骏310W降价0。16万元,奖励奋斗的自己,幸福有你更有礼……德国SAUTER(首德)钢琴200周年庆典系列音乐会南京站完2019年8月13日,德国SAUTER(首德)钢琴200周年庆典国际大师系列音乐会首秀于江苏大剧院音乐厅圆满成功!在这场音乐会上,来自意大利的著名钢琴家杰卢卡路易西教授不仅完美……聊聊摄影系列森山大道森山大道,这个摄影大家,我是不敢妄加评论的,我只是分享下我对于他照片的看法,希望对你们有帮助。森山大道,1938年出生于大阪,日本摄影师,与石内都、荒木经惟等人同时崛起于20世……转型承压英特尔以数据为中心营收下滑,与英伟达市值差千亿美元文杨剑勇今年,对于英特尔这家芯片巨头来说,比较尴尬的年份,作为一家年营收超700亿美元的芯片巨无霸,在资本市场则遭遇重挫,相比其他科技企业涨涨的局面下,英特尔截止11月2……马自达的新技术及新产品纷至沓来,ZoomZoom可持续发展宣近日,马自达又发布了展望2030年的新技术及新产品规划。我们可以将这份新技术和新产品规划简单称之为五大方针。先来看看马自达的这份五大方针具体都说了啥?1。活用阶梯式……奸杀女学生围堵派出所,在华非洲人的影响力不容小觑公众号:关注诺好杂谈了解人生百态6月14日晚上,宁波工程学院某黑人外教以学习烹饪中国菜的名义,邀请该校23岁女学生陈施君前往校外,并在学校附近树林中对该女生实施奸杀……兴唐传瓦岗山异闻录人物解读侯君集五哥说瓦岗系列侯君集形象画侯君集在玩友中也具有极高的人气,无疑,猴子在战场上的强劲表现加了不少分。就目前而言,猴子并没有什么属于自己的独立剧情,我们对猴子的身……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网