【python web开发】jason web token 原理

http 是一种无状态的协议

这里无状态怎么理解: 前后两次请求它不知道这是同一个人 还是不同的人请求的

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

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

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

问题:xss 漏洞

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

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

。。。。。

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

。。。。。。

只要我们生成的token遵循一定的规律,比如使用对称加密算法来加密id 形成token。
服务端只需要解密token 就能知道id。

 

posted @ 2018-12-01 15:32  初学者,方圆几里  阅读(278)  评论(0编辑  收藏  举报