Django中的JWT
一、什么是JWT(Json Web Token)
顾名思义,JWT就是Json Web Token,是在web应用中基于json的一种身份验证机制。
本质上就是把用户的信息通过base64编码后,加上一个头和一个签名,然后当作身份令牌发放给用户,使其能够通过这个token进行身份验证。
二、与session对比的优缺点
2.1 优点
1、session的用户信息全都是存在服务器上的,如果用户过多,会导致内存上的问题,而token不会
2、token扩展性好,session只能存储服务器上已有的结构性数据,而token是json,所以存啥都行
3、token可以在一定程度上防止csrf(原理是同源页面每次发请求都在请求头或者参数中加入Cookie中读取的Token来完成验证。CSRF只能通过浏览器自己带上Cookie,不能操作Cookie来获取到Token并加到http请求的参数中