00:00
各位同学大家好,刚才呢,我们介绍了权限管理的设计思路,最终提到了这个token,这个token呢在特别题具啊,各位不要理解错,我刚才说的意思,Token里边呢,放我们的重要信息,我说的意思并不是说把我的用户的基本信息和用户菜单权限数据都放到ton中去,因为token它里边只一个字符串,它存储不能过大,比如你把所有放进去,可能里边不是很合适,咱们可以放重要信息,比如说放我的用户ID,用户名称,咱们根据用户ID是不是能查到这些权限信息,这是我们要做的一个事情,然后ton能进行这个。进行共享,包括你在用户、在角色、在菜单模块都能得到用户ID,然后根据他调接口肯定能查到我们的数据。然后这个之后呢,我们继续来看啊,因为刚才提到token呢,是按照一定规则生成一个字符串,这个规则呢,你可以自己约定,但是实际中咱一般为了方便,为了更加的完善,我们一般用一个工具来深入token,那我这里边给大家介绍一下。
01:16
我写到这里。生成token的一个工具,我们叫JWT,通过它我们来生成,那下面呢,我就把这个GWT给各位做个介绍,是生成token的这么一个工具。那什么是JWT呢?我们看一下课件中JWT的全称叫做Jason web token是Jason,一个web,令牌是一种叫字,包含令牌什么意思呢?就是自己呢,包含重要信息这么一个字符串,然后这个DWT继续往下看啊,它的重要作用是什么?对token信息进行防卫,就是能进行编码,能进行加密。
02:00
一个GWT呢,它有三个组成部分,这各位要记住,我这里来给各位复制出来,咱们解释一下这三个部分分别都是什么,给各位讲到这里。三个部分,第一部分叫JWT头,第二个叫有效载荷,第三个叫签名哈希,那咱们分别解释一下,首先看第一部分叫头,各位看我这个课件中这张图里边啊,第一部分什么意思呢?就是这里。里边有它的类型,比如JWT,就是它一些基本的信息,然后第二个最重点叫有效载荷,什么叫有效载荷,咱往下来看,比如说现在你看这句话,这是什么?是不是存出你的信息啊,这是名称,这是角色,这是那个头像,就是咱们说那个重要信息是放到这个叫有效载荷中,包括你的里边的什么用外地都可以存里面去,然后第三个叫什么叫签名哈希,什么叫签名哈希呢?比如现在啊,我这数据要根据什么格式进行编码,根据什么方式进行加密,最终编码加密之后要变成什么样子,在签名哈希中进行定义,这里边的主要作用就是进行一个防伪的一个作用,防止它被伪造,因为这里边的加密包括规则只有我们自己知道,这个叫切面哈希,包括这里边L1种机制也可以根据一个密钥进行加密,咱要解码,要根据它的密钥才能解码。
03:34
以上就是它的三个组成部分,这个咱们来做一个说明,我再重复一遍啊。JWT是我们经常用的一个生成token字符串的一个工具,它又叫做自包含令牌,就是里边能包含一些重要的信息。一个JWT有三个部分,分别是头、有效载荷,还有签名哈希。头就是一些基本信息的定义,有效载荷,可以放你的私密或者说重要信息签名哈希就是决定我用什么方式编码,最终加密编码成什么样的格式,这就是一个GWT的一个说明,各位把这知道,然后咱们下面呢,就在我们项目中来整合一下这个GFT,最终咱们会改造登录接口,生成token字符串。
04:26
那这里边我们马上开始整合,咱们整合咱先看一遍啊,然后一会儿做个实现,首先第一步干什么有依赖,然后第二步呢,我这里写好了一个工具类,这个工具类不需要各位敲,咱一会儿复制改就可以了,因为它的结构是固定的,我在里边有几个方法,第一个方法根据ID名称,最终会生成一个字符串,然后第二个根据这个ton能取到里边的这个用快递,包括能取到里边的名称,就是拿着字符串从里边把那个私密值取出来,包括里边还有其他方法,包括有什么测试方法。
05:06
以上就是GT一个基本介绍。
我来说两句