1.传统登录的方式是使用 session + token,比较适用于Web应用的会话管理。token 是指在客户端使用 token 作为用户状态凭证,浏览器一般存储在 localStorage 或者 cookie 中。session 是指在服务器端使用 redis 或者 sql 类数据库,存储 user_id 以及 token 的键值对关系

2.Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。

3.WT与Session的差异 相同点是,它们都是存储用户信息;然而,Session是在服务器端的,而JWT是在客户端的。Session方式存储用户信息的最大问题在于要占用大量服务器内存,增加服务器的开销。而JWT方式将用户状态分散到了客户端中,可以明显减轻服务端的内存压力。Session的状态是存储在服务器端,客户端只有session id;而Token的状态是存储在客户端。

4.用Token的好处 - 无状态和可扩展性:Tokens存储在客户端。完全无状态,可扩展。我们的负载均衡器可以将用户传递到任意服务器,因为在任何地方都没有状态或会话信息。 - 安全:Token不是Cookie。(The token, not a cookie.)每次请求的时候Token都会被发送。而且,由于没有Cookie被发送,还有助于防止CSRF攻击。即使在你的实现中将token存储到客户端的Cookie中,这个Cookie也只是一种存储机制,而非身份认证机制。

5.token在一段时间以后会过期,这个时候用户需要重新登录。这有助于我们保持安全。还有一个概念叫token撤销,它允许我们根据相同的授权许可使特定的token甚至一组token无效。

6.JWT与OAuth的区别 -OAuth2是一种授权框架 ,JWT是一种认证协议 -无论使用哪种方式切记用HTTPS来保证数据的安全性 -OAuth2用在使用第三方账号登录的情况(比如使用weibo, qq, github登录某个app),而JWT是用在前后端分离, 需要简单的对后台API进行保护时使用。

最新文章

  1. ABAP 内表的行列转换-发货通知单-SLIS
  2. 理解Cookie和Session机制
  3. Ajax.BeginForm 上传文件
  4. 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
  5. C#入门基础
  6. Javascript实现鼠标框选元素后拖拽被框选的元素
  7. 在对话框上拖动按钮并移动该按钮(改写CXXButton::PreTranslateMessage,然后MoveWindow)
  8. PHP 实现短域名互转
  9. Putty使用公钥认证时,报错:Disconnected: No supported authentication methods available(server sent:public key) 问题的解决
  10. Android dumpsys命令的使用
  11. zoj 2770 Burn the Linked Camp
  12. Linux下编译memecaced
  13. JAVA 中转义符的理解
  14. URL在Tomcat服务器端的servlet解析过程
  15. C#批量裁剪图片
  16. Python学习笔记-随机数
  17. EF-CodeFirst-数据库初始化
  18. Socket调用Close后如何终止套接口的问题
  19. 吴裕雄 python神经网络 花朵图片识别(9)
  20. 如何快速的打开当前文件夹的dos命令窗口

热门文章

  1. java为什么是一次编译,多次解释
  2. 灵动微电子ARM Cortex M0 MM32F0010 UART1和UART2中断接收数据
  3. descriptor 'decode' requires a 'bytes' object but received a 'NoneType'
  4. 多边形游戏——区间dp
  5. BERT模型的OneFlow实现
  6. Python脚本语言写法
  7. Recommenders with TensorRT
  8. java后端知识点梳理——Spring
  9. 二、特殊DNS解析
  10. 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用