一、JWT介绍
在介绍JWT之前先看一下传统校验令牌的方法,如下图:
- 问题:
传统授权方法的问题是用户每次请求资源服务,资源服务都需要携带令牌访问认证服务去校验令牌的合法性,并根据令牌获取用户的相关信息,性能低下。为什么会说性能低下呢? 原因就是用户(客户端)请求资源服务,资源服务都需要携带令牌访问认证服务去校验令牌的合法性,要明确一来一回的请求和响应都是需要消耗时间的哦。
- 解决方法:
使用JWT的思路是,用户认证通过后 会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验(这就是比较厉害的哦),无需每次都请求认证服务完成授权(耗时短)。
JWT令牌授权过程如下图:
说半天了,还不知道什么是JWT令牌吧,请听老夫细细道来:
1.1 JWT概念
什么是JWT?
JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介的、自包含的协议格式,用于在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公钥/私钥对来签名,防止被篡改。
英语比较好的同学,可以去官网看看哦(前提你必须能看老外的网站)。
官网:jwt.io/
标准:tools.ietf.org/html/rfc751…
我给你贴个图,慢慢看吧