【python web开发】jason web token 原理

http 是一种无状态的协议算法

这里无状态怎么理解: 先后两次请求它不知道这是同一我的 仍是不一样的人请求的数据库

传统的认证模式:采用session 和cookie结合的方式django

先后端分离的传统:用户信息生成token,token和对应的ID 保存到数据库中。咱们django  rest  framwork 的 token auth 就是采用的这种json

接着把token传给用户,存入浏览器cookie,以后的请求带上这个cookie,后端会根据这个cookie 值查询用户,验证过时的逻辑表里面多了一个字段,之后后端的验证后端

问题:xss 漏洞浏览器

cookie 能够被js 读取,做为后端识别用户的标识,cookie 的泄露意味着信息的不安全,特别是咱们django rest framwork 的token auth  是没有过时时间的安全

若是将验证信息保存数据库。每次都要查询。保存session,加大了服务器端存储压力。服务器

。。。。。cookie

jwt  是一种开放标准,它定义了一种用户简洁,自包含的用户通讯双方之间的以json 对象那的形式安全传递信息的方法,session

。。。。。。

只要咱们生成的token遵循必定的规律,好比使用对称加密算法来加密id 造成token。服务端只须要解密token 就能知道id。

相关文章
相关标签/搜索