课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内互联网IT培训的不同课程技术,通过学习可以实现跨行业二次发展,下面我们就通过案例分析来简单了解一下,JWT技术应用优势都有哪些。
1、无状态
JWT自身包含了身份验证所需要的所有信息,因此,我们的服务器不需要存储Session信息。这显然增加了系统的可用性和伸缩性,大大减轻了服务端的压力。
不过,也正是由于JWT的无状态,也导致了它大的缺点:不可控!
就比如说,我们想要在JWT有效期内废弃一个JWT或者更改它的权限的话,并不会立即生效,通常需要等到有效期过后才可以。再比如说,当用户Logout的话,JWT也还有效。除非,我们在后端增加额外的处理逻辑比如将失效的JWT存储起来,后端先验证JWT是否有效再进行处理。具体的解决办法,我们会在后面的内容中详细介绍到,这里只是简单提一下。
2、有效避免了CSRF攻击
CSRF(CrossSiteRequestForgery)一般被翻译为跨站请求伪造,属于网络攻击领域范围。相比于SQL脚本注入、XSS等安全攻击方式,CSRF的知名度并没有它们高。但是,它的确是我们开发系统时必须要考虑的安全隐患。就连业内技术标杆Google的产品Gmail也曾在2007年的时候爆出过CSRF漏洞,这给Gmail的用户造成了很大的损失。
3、适合移动端应用
使用Session进行身份认证的话,需要保存一份信息在服务器端,而且这种方式会依赖到Cookie(需要Cookie保存SessionId),所以不适合移动端。
但是,使用JWT进行身份认证就不会存在这种问题,因为只要JWT可以被客户端存储就能够使用,而且JWT还可以跨语言使用。
4、单点登录友好
使用Session进行身份认证的话,实现单点登录,需要我们把用户的Session信息保存在一台电脑上,并且还会遇到常见的Cookie跨域的问题。但是,使用JWT进行认证的话,JWT被保存在客户端,不会存在这些问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。