温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
那刚才最后呢,我们提到啊,我们自包含令牌有业内有一个标准叫做Json web token,它简称呢叫JWT,我们来看一下JWT令牌它是啊什么长什么样哈,那么它呢,就是一种自保含令牌,它有它的使用场景呢,就是外部API,比如说之前我们阿里云啊,这个访问那个呃,SMS对吧,访访问那个呃发微信呃发短信,或者说我们阿里云上传oss啊,上传文件等等啊,那么都可以使用这个令牌来做,当然了,我们其实用的是SDK了,我们SDK调用的过程当中呢,它实际上把令牌都已经封装到SDK内部了,所以对我们来说呢,其实啊,我们在调用的时候呢,并没有看到什么令牌的存在,但是实际上它内部是有的啊,它自己那个自动生成了,好,然后接下来呢,还有一种呢,就是多外部服务器下实现无状态分布式身份验证,也就是说为了解决我们前面这个单点登录。
01:00
的这样的一个问题,然后呢,在单点登录当中呢,作为一个web token存在,那么也可以用JWT这个令牌来产生啊,然后呢,这个是JWT的官方网站给我们的一个JWT认证的过程,首先呢,浏览器向服务器啊,发起一个POS的调用,这个POS调用呢,会输入用户名和密码,也就是说会输入用户的这个用户信息啊,Username and password,那这个呃,远程接口的地址呢,有可能是users-lock,好然后接下来呢,服务器这端呢,它就会首先先查询用户信息,先校验用户信息,当然了,这张图当中它没有具体的体现哈,那他呢,就会上数据库当中。他查一个数据库,这有个数据库,数据库中呢,查用户名和密码在不在,一看在好在的话就怎么办,就在到这来了,就生成JWT令牌,好生成完JWT令牌之后呢,它作为一个响应,把这个令牌呢就传递给浏览器端了,好浏览器端呢就把这个令牌存储起来,存储在哪,一般我们会存储在库当中,然后浏览器端以后每一次他在访问外部服务器的时候,它都会携带着这个令盘,Science的JWT。
02:10
On the authorization header在他的请求头当中啊,携带着他的JWT令牌,然后呢,发送给服务器,服务器端呢,先校验这个JWD令牌是不是合法的,如果服务器端校验这个令牌成功,那么就认为呢,这是一个合法的访问用户,那么他就会把这个。用户的信息从JWT令牌当中解析出来啊,因为我们要做的是用户登录对吧,用登录的话,最终你不要存一个用户信息嘛,那我们这个用户信息存哪就存这硬盘当中啊,大家再回顾一下之前我们讲的这单点登录,如果是。SSO的话,用户信息存档是不是存在这个缓存当中,如果是token的话,用户信存档是不是存在这个令牌当中,所以那你用户登完录之后,你是不是得拿到用户信息啊,啊好,那用户信息在哪呢?从这个令牌当中啊,叫check g wt get user information from the g wt,从先校验令牌,然后校验成功之后,再从JWT当中去获取用户信息啊好,然后呢,把这个用户信息呢,或者是把用户需要的内容呢,就展示给用户。
03:17
然后用户呢,就看到他需要的名额,是这样的一个过程。这块呢,就是JWT令牌的一个具体的一个认证的过程,它的作用呢就是防伪嘛,啊token呢,你一般如果用随机数随便生成一个的话呢,它的安全性不太高啊,所以我们呢就设计了这样的一个JWT啊,那GWT呢,它有好多部分组成,所以呢后面呢,它还有一个就是加密串,所以呢它会起到一个防伪的作用。好那接下来我们就说一下JT的具体的这三种组成部分,一个呢是JWT,头一个呢是有效载荷,还有一个呢是签名哈希,好,然后接下来呢,我们来看一下这三个部分啊,怎么样去啊,最终生成一个JWT。
我来说两句