一、JWT简介
1、什么是JWT
JWT简称JSON-Web-Token ,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密,签名等相关处理。
2、JWT能做什么
Ⅰ、授权
是使用JWT最常见地方案,一旦用户登录,后续地每个请求将包括JWT,从而允许用户访问该令牌允许地路由,服务和资源。单点登录深是当今广泛使用JWT地一项功能,因为它的开销很小并且可以在不通风地邻域中轻松使用。
Ⅱ、信息交换
JSON Web Token是在各方之间安全地传输信息地好方法。因为可以对JWT进行签名(公钥和私钥),所以可以确保发件人是信任的人。
3、为什么是JWT
基于传统的Session认证
Ⅰ、认证方式
http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户和密码来进行用户认证,那么下一次请求时。用户还要再进行一次用户认证才行,因为根据http协议,我们并不能确定是那个用户发送了请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能再服务器存储一份用户登录的信息,这份信息会再响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求是来自哪个用户了,这是传统的基于session认证
Ⅱ、认证流程