ok, 我们继续上节课的内容,现在要看我们的自然服务对不对?看一下我们的自然服务,因为这种肯定是是为了自然服务而做的,我们把这个关一下 自然服务,对不对?我们首先一样的,自然服务的话,我们需要去创建一个自然服务的一个配置,对不对?自然服务的配置, 还有这个配置都配置什么了?这就是咱们刚才说的一个软成服务器要叫烟啊,但是我这里没有去采用软成服务叫烟啊,好, 美容服务教,所以我把这注掉了,大家可以开启啊,这个其实因为开启软成服务教养有一个不好的用地方,就是呢,你每次一个请求一个接口的话,都会去调用那个, 呃,那个认证服务,就会导致这玩意,本来我就请求一个借口,你给我又请求认证服务,那不就消耗我的资源吗?对不对?浪费我的一个小心时间吗?增加我的小心时间吗?对不对?所以呢,我这里面不采用, 建议大家去使用这个认证服务去脚印啊,可以本地去脚印,就本地脚印啊,然后我们这里面拿到咱们的一个托克啊,托克斯特,然后这个进行托克,然后主要的就是我们要去。嗯,配置这个因为咱们的资源啊, 我们之前有个权限脚印,对吧?然后还有个资源,这个资源指的什么意思啊?就是我这个服务吧,当前这个服务 哪个地址拥有什么样的一个权限啊?这个里面有个还有斯科吧,是我们之前定义的一个斯科吧,一个 rad 权限,还 rad 权限,对不对?这个里面要有 rad 权,这个 rad, 这个 rad 的话得要有 rad 权限, rad 话你要么有 rad 权限,要么有 rad 权限,都 ok 的, 对吧?所以呢,这里面做一个配置,这里面就是去拿这个公药,对不对?这个是一个优点,优点我们封装了一个获取荣耀的一个东西啊,这个就是获取荣耀,我们就是从本地拿的,从本地拿的,因为我们伸展了嗯,一个公耀的 文件,大家可以在这里面看一下这个里面代码啊,是这个是已经啊封装好的啊,这个在这, 这里面有个 q 片有条,是不是啊?我们看一下,我们读取这个趴趴波 tst 这个文件啊,这里面是有公要啊,这个公要大家如果做过那个那个十二登录的话, 嗯,就很熟悉啊,这里面就是这玩意,嗯?打不开吗?啊?就这个这样的,这样功效认证,咱们如果配过 get 也知道,公司里面水光 get 应该也知道的。好,然后我们看一下这这个是什么意思啊?这个就是在最后我们进行认真的时候,就是咱们这个思考吧, 这很还此刻吧,大家在使用的过程中,嗯,肯定,嗯,不知道用来干嘛的,因为我们当时在这个创建这个克拉斯底 so s 的时候,好像取了一下这个,看下这个可能你在 so s 的时候是不是取取了这个东西, 在这这有一个死胳膊,对不对?把死胳膊塞进去了,我们看一下,看一下水库里面那个死胳膊成了什么东西啊? 就这个东西什么权限?这个 red 权限,这个 r 权限,是不是?这个不管了,下面这个是之前我们做那个软沉服切个操坑的时候用的,现在我们不用,大家可以自己去尝试,这里面是一个 red 权限,对不对? red 权限,所以他就是可以访问这个两个接口的,待会我进行修改一下。好,我们回来,我们回来, 自然服配置我们弄完了,对不对?然后我们再看一下这个拦截啊,这个拦截的话我们应该有熟悉,就是咱们自然服务也是需要这个来一个过滤的,需要哪些可以要走这个拦截对不对?所以呢,我们需要配置这样一个路径,斜杠、特色、斜更新 都需要进行认证。大哥,大家这个可以自己根据需求进行一个配置啊。好,自然服务配置就这么简单。嗯,主要代码我都写在已经写好了啊,在这里面大家如果需要原码的话可以。嗯,私信我的啊,应该私信我的。 好,这里自自然服务,自然服务我们定了两个接口啊,第一个接口 rada, 然后呢?他需要一个角色,我的命的一个一个角色,角色,角色信息,然后 read 选项,他也有一个角色信息, 还有一个角色迎接。然后呢?我刚才我们可以看到我们在这个自然配置这里面啊已经他必须要求有一个 rad 权限啊。 rad 权限,好,我们演示一下,我们先休息一下,稍后继续。
粉丝1023获赞3310

ok, 我们继续上节课的内容。好,我们现在准备好电脑,电脑都有的,对不对?好,然后我们就开干,首先的话,我们知道咱们的一个 out two 的话,这个授权啊,它是分为两个服务的, 嗯,也就是我们厂家的一个认证服务,还有自然服务,自然服务就是代表的是我们的业务啊,我们的业务服务啊。好,这波业务服务,真的这个都是自然,对不对?你访问我这个业务业务币,我都是自然。好,首先的话我们创建这个认证服务啊,创建认证服务的话,我们有这几个, 有几个,这几个文件啊,我们都不需要创建了,一个是可烂底台。 sose, 如果大家之前看过我的斯文克拉的一个教学家的视频的话,应该应该有所了解。 好,首先是创建可拉的底下的赛博斯,嗯,介于这个时间的关系啊,我是提前把单码写好了啊,提前把单码写好了,大家可以看一下,我单码已经写好了,创建了两个人,一个服务,一个是认真的,一个自然的, 但是呢,我会带着大家一起把这个代码进行讲讲一遍呢,讲完之后大家的一个思路就清晰了啊,知道为什么这么写。好,首先我们看一下 克兰的题材 s s, 对不对?克兰底材 s, 这里面我们主要创建了一个这个克兰的题材 s, 这个时间啊,这个是做什么呢?我们看一下解释啊, 根据克克兰的 id 获取客户端信息,这个就是斯文斯克里在进行认证的时候啊,他需要根据你传过来克兰的 id 来判断一下你符不符合这个你携过来的,携带过来的这个认证数据咱们看一下啊, 什么认证数据呢?我们看一下,我们在进行认证的时候会在这里面会输吗?对吧?这个是不要认证,对不对?获取获取,偷看,或许偷看对不对?这里面我们有个认证对不对?他会拿着你这个可爱的来历去搅验一下你这个, 嗯,任克兰的信息,对不对?所以呢,他会调用你需要使用一个罗德克兰的 id 的这个方法啊, 去根据各方案的去找。大家注意啊,这个方法会被调用三次啊,总结了一下,三次啊,所以一般要加上缓存啊,防止他重复去数据过差的话一般要加上缓存啊。好, 我们,嗯,这个时间了啊,这个大概是这个意思啊,嗯,就是获取客户单的信息。好,然后我们再制定一个 u 字底下 sus 啊, us 底下 sus 前面这个是 clan 的底下 sus 是用来获取 clean 的信息的。我们,然后我们同样的我们要穿一个 us 底下 sus 啊,这个是封装的 us 底下 s, 这个用来干嘛的呢?这就是咱们进认证通过之后啊,然后他会把这个信息啊,封装在那那个斯文斯个体那个那个信息里面去啊,就是朋友赛跑那个那个里面去啊。好啊,封装在里面, 这也是实现这个优字底才二三二四, ok, 然后呢,这个是封装的一个基础基础实体啊,用户实体,然后我们需要创建一个这个一样的,也是去创建一个第三所使用来实现,根据是用户名啊,也就是我们账号 id 去找这个账户的信息,因为也他也是会被随口一起进行调用的, 所以我们看下这个题材 sus, 可以看到这两个有啥不一样呢?这个是实现的是 u 的底材, sus 上面实现的可烂底台 sus 他们两个用户类型不一样啊,类型是不一样的,所以我们看一下这个是干嘛的?这个也是通过直接 nomenonne, 就是你登录进来的一个账号, 然后根据查查查,查出去库里面查,对不对啊?查完之后的话,我们就会去组装他的一个角色啊,组装他的一个角色,大家要注意啊,这里面如果你想后面想用他的一个授权啊,授权注解的话,就是那个注解 全线好像那个朱姐的话,这个 ro 扣的一定要记住要用 ro 杠给他连接起来,然后呢给他便利之后给他封装在这个 cd x 里面去啊, 放到在这里面去,后面的话就是那个 suke 自己会去调音啊,进行认真的时候会调音啊,这个大概这么讲了,如果大家去听过我之前的课程的话,这一段,嗯,应该是很熟悉的了,很熟悉的了, 如果没有看的话,大家去爬楼往上找一找斯文克拉的脚脚丫视频,对了,好,然后我们来看一下我们今天的一个重者之重之一,对不对?重者之重之一,嗯,新创建的名词啊,好,我们看一下这个认真服务的一个配置啊,是关键的啊, 一个 a 一个 w, 对不对? aw, 这个是 w, 这个是 a, 我们看一下这个什么意思啊?这个做做那个授权配置啊。好, 我们首先看一下这里面定了奥斯图科鲁科普三有,有没有看到这个里面 ctrl, 这个就是用来配置给你可爱的 id 去找可爱的信息的,这个 ctrl 一个对不对?可以看到这里面我们已经传了我们上面创建过的一个可爱的点赞,搜一次这个接口,对不对? 好,然后我们再看一下剩下面这个,下面这个,这个就是配置授权以及令牌和端点访问的一个令牌托克。什么叫访问端点呢?访问端点就是我们 ctrl, 嗯,就四十 k 里提我给我们暴露的一个 ctrl, ctrl, ctrl 我们可以进行获取托杆,嗯,脚烟托杆,刷新托杆,然后授权都是 ok 的, 所以呢我们继续看看这一步干嘛呢?这个进行一个托管增强啊,托管增强呢,然后我们接下来会看一下,往下走的时候看一下这个托管增强是什么意思啊?托管增强就是对我们现有的一个,因为我们现有的那个用户信息里面只会 包含你的用用户名,我们现在就是需要往里面加一些额外的信息,所以呢托克里面加一些额外的信息,所以我们要使用这个托克增加。大家如果在嗯使用过程中需要去增加额外的信息的话,托克里面加额外信息的话,就是像我这个, 我,我这个拖更啊,我这个头里面我加了一个优质 id, 还有优作难,对不对?这是我增加了,所以呢大家如果有需要的话,也是可以去实现这个拖更增强,去增加一些额外信息的。本来这些东西是没有的,他只有一个,只有一个这个东西啊,这个优作难啊。 ok, 这个讲了啊,这个讲完了,大家如果有什么疑问的话可以,嗯,在评论区或者弹幕里面给打出来啊,我会看的,真的会看。好,然后我们看一下这个上面增强,讲完了,然后我们看这个授权方式啊。好,授权方式这个里面看下做 什么东西?首先我们定一个 gw x took 转换器啊,转换器这个是有用的啊,这个有用的,这个是用来给你需要通过这个进行配置,你的公司要的配置,公司要的。好,然后他这里面 啊,这个就不用讲了,这个是增强呢,同样呢把这个加进去,把这上面配置的这个增强链给他加进去,然后这个格兰特,格兰特也给他配进去,没毛病,对不对?没问题的。 ok, 然后这个里面这个也没有什么奖的,这个没什么个奖的,我们再再看下这个,这个是干嘛的?这个配置这个东西是用来就是我这个自然服啊,我要去 教验教验这个托肯,是否是有有权限去访问我当前这个资源呢?我需要去缴验这个托肯,然后缴验托肯有两种方式,一个是本地去实现,还有一个是远程服务去实现。也就是 说软件服务指的就是我去认证中心去拿这个拖杆去认证,去切个拖杆,看下这个拖杆是否是有效,对不对?然后拿回用信息。 然后呢加这个东西是干嘛的呢?因为默认的那个奥斯认证的那一块,认证中心那一块的一个切割偷看啊,他那个端点啊,他是不开放的,他是不开放的,你必须要 把这个东西加上一个,这个才会让他进行开放,我自然服务就可以进行调用了。 ok, 这个奖商啊,然后再讲一下这个托根 sos 啊,这个托根词就决定了托根存在哪里,怎么去存储他。 好,如果你需要把它这个托克啊,需要放到瑞迪斯里面的话,你可以在这里面进行改写啊,把它换成一个托克斯的话,那我现在默认的就是给他他默认的一个 dfo 的托克斯的话,默认的。嗯,在 看下这个,这个同样的,你需要把客户单放进去,一样的。好,这里讲完了我们再看一下这个内容,刚才讲的内容增强啊,可以看到刚才这个内容增强的话,我是把这个 uzid 和 u 字内容塞进去了,对不对?然后大家刚才也看,从我们的那个拖更信息里面获取到了这个, 就是那样和优待力,对不对?所以呢,如果要增强就在这里面做增强,对吧?没有其他地方可以做,就在这做 这个,这个就是转换器啊,刚才跟你说了,这个公司要一个密药队,对不对?然后这个密药的话就是我们通过 gdk 的一个工具啊,生产的一个,嗯,一个贴片,一个密药队,对不对?密药队好,这个 重症之重之一,讲完了我们再来讲之二,对不对?我们讲之二就是安全配置啊,安全配置,安全配置就是我们之前配四分四个问题的进行拦截,就是说有哪些路径需要走这 过滤哪些不需要啊?可以看到大家可以熟悉的可以看到这个东西啊。嗯,这个 os 斜杠星星后面呢?不用拦截,踩死了。斜杠星都不用了呀, logo 也不用拦截,直接是昆明的 ol 了,对不对?剩下的所有请求我都要拦截,对不对? 好,然后这个是进行一个捕获异常的啊,捕获异常就是克兰的认真的,失败的话,这个对咱们的那个后面演示的那个射拳法模式是有用的,是有用的一个呢,射拳法模式就是没成功,就说明这个没配好,导致你不能跳转到巅峰界面。 好,这里面就是认证管理对象,这里面自定义认证器。 ok, 这个认证器就是密码认证器啊,默认的密码认证器啊, 这里面有什么作用呢?就可以看到啊,这里面设置密码认证器,密码密码的模式,这个里面默认是采用那个 b 可爱不,特可爱不的那个确认真模式使用的。嗯,也就是说你在前面需要加上一个大口号,然后比 大口号,然后再加上你的加密的密码,才能被这个框架进行一个解析啊。解析好,然后这里面因为这个密码,这是模式,他有个优字叠加 swiss 的话,你需要,嗯,把这个生死优字题材 sus 塞进去啊,通过认真的时候是调用这个去获取用户名,用户信息,然后进行一个认真的啊。好, 再看下这个,这个认证异常啊,这上面这个模式处理的话,就是针对咱们的一个社群化模式,需要需要单独的处理啊,让他跳转啊,强制跳转,大家可以去了解一下这个三 w 点 out, 可以的, out 的啊,去了解一下这个东西很有用的,很有用的,很有意思的。 好,那下面的话就是一个认真失败,我们给他返回这个客户端,认真失败的一个接送的一个友好的一个错误信息啊,前面我们已经讲完了,认真服务的配置, 创建安全的配置,对不对?好,还没看到效果对不对?大家反应了,但是还慢慢的,大家要等一下啊,我们要把这写完啊,然后就重写错课,你不问他对不对?刚才我们讲了为什么重写这个呢?第一个我是为了抓取日志,抓写那个错误异常,因为不写这个错误异常,我补货不到, 就算我定了格勒波那个 ctrl 的 vis 的吧?是 ctrl 的 vice, 就算我定那个我也补货不到,所以呢,我重写了头,给我把头给重写了,然后直接拿到这个里面了,对不对?好, 然后我们再看一下这个,这个借口干嘛?这个就是,呃,自然服务去获取民药的,公药的自然服务去获取公药的自然获取。自然服务去获取公药也有两种方法,一个本地自己获取啊,就是直接把那个公药保存到本地,我们先休息一下,稍后继续。

前段时间有些同学私信我,让我讲一下儿子做的一个授权模式,并且还强调那个零基础的那种, 我也不太理解这个零基础到底是什么样的一个程度啊?嗯,但是我觉得任何接单的同学看完我这个视频的话,对奥斯兔的一个理解将会有一个很大的提升,这不是吹牛的啊, 大家看完看到最后就知道了,并且也会熟练的去借助这个斯文斯克里奥斯兔这个框架去轻松搭建一个认证服务和自然服务。好,废话不多讲,我现在就直接进入主题了, 首先的话,我们了解一下斯文斯个体这个是什么东西啊?好,斯文斯格里的话是一套安全框架,并且他可以进入 rbsc, 也就是我们常说的一个角色的权限权限控制系统啊,控制的一个框架,然后他用来就是对用户的 访问权限进行控制,核心思想就是通过一套费得欠,然后进行一个拦截和过滤。大家对四分四个位体的话,这一块应该是肯定有了解,因为我们这节课并不是主要去讲四分四个位体啊 啊,所以呢,大家一定要有一个四门四个位的一个基础啊,使用的基础啊,对他的一个深入了解也不用太多,了解好,四边四六个里就是一个简单的一个 rbac 的一个实验的一个角色权限控制的一个框架。好,然后我们大概了解了四边四个的,我们再来看一下奥斯兔啊,就是今天呢咱们的一个主题 合作兔,是他是一个协议啊,不是一个框架啊,他是一个官方定的一个协议,他是一个关于授权的官方标准,核心思路就是通过各种认证手段进行认证,拥护身份啊。然后这个认证的手段的话是,嗯,具体是怎么进行一个认证? 你通过手机号认证呢?还是密码认证还是什么样的认证?这个都是用户可以自己去实现的并颁发。嗯,如果认证成功之后这个二字兔的话,那个协议会颁发一个托给你,然后我们会带着这个托肯去访问我们这个托肯被指定范围内的限定时间内的资源啊。 嗯,这个第三方应用是什么意思呢?嗯,我们像我们一般会使用在一些网站上会使用这个微信账号啊,进行一个登录,对不对? 嗯,是吧?所以呢,这个一些这这个网站就相当于第三,就是这个微信就相当于第三方应用啊。第三,哦,不是这个这个网站就相当于第三方应用啊, 所以呢,嗯,他就会需要去到那个微信里面进行一个认证,因为我使用的是微信这个账号,然后拿到他的 took, 嗯,去认证,然后呢这个网站就能拿到 我们的微信的一个账号外边微信的一个名称和微信的一个头像,对不对?所以这个就第三方为什么这么做呢?这个肯定是基于安全的嘛,因为我们这个随便做的不就安全吗?对吧?然后 他这个安全的话是怎么就安全了?因为你不需要对他进行一个输入你自己的用户名和密码,也就是说你在网站上面你不需要输入用户名和密码,你就直接能使用我们微信的一个账号进行登录。 好,这个大概的流程,后面会通过这个流程给大家进行解释啊,介绍我们四种授权模式的时候,给大家进行一个解释。 好,我们然后我们再看下随便 siri kitty、 奥斯兔的,为什么会有这个啊?为什么有四边 siri kitty, 还有一个呃,奥斯兔呢?因为咱们随便 siri quit 阿斯兔的话,就是基于对奥斯兔的一个时间啊,因为奥斯兔的话是一个协议嘛,所以随便 siri、 kitty、 奥斯兔的话,就是对这个奥斯兔的一个 时间。不怕实现就是建立在思维人 c 个体的一个基础之上,实现了奥斯兔的一个规范概念部分铺垫完成了,现在我们就讲一下我们奥斯特的四种授权模式,这个肯定是大家肯定关系,关系呢,前面讲了那么多的一个理论,碰见, 让我们开始讲一下,我们是那个 out to 的一个四种授权模式啊,为什么提供四种呢?而不只是一种呢?因为四种模式的话,代表二次授权授权第三方的一个不同户型程度,它指的什么意思呢?因为它这个四种授权模式的话,它有代表的 等级是从高到低的啊,也就是说我们可以把它理解成安全程度啊,安全程度从高到低啊。 ok, 首先我们来介绍我们的授权码模式,也就是最安全也最为常用的啊,咱们用微信账号进行一个登录的话,就是用的咱们的一个授权码模式啊。好, ok, 我们看一下啊,这个场景啊,咱们这个社马使用的一个场景啊,就是当用户像,当用户使用,像使用 b 的账号,使用 bb 网站的账号啊, 如微信,对不对?然后授权登录 a 网站,这个就是我们嗯,做的一个场景啊,然后这个用授权码模式怎么去做呢?首先会跳转到 b 网站授权页面,是不是我们首先会去登录到 a 网站吗?然后进入到 a 网站, a 网站有一个这样的一个按钮对不对?有个微信登录, qq 登录,微博登录,对不对? 然后呢,他会跳转到 b 网站授权页面,输入 b 网站的用户名密码,我们对你的微信的话,就是微信的用户名密码,也就是我们可以扫码啊,其实啊,嗯,然后呢,这里面是 b 网站认证 验证通过之后回掉网站, a 提供到一个回掉地址,因为他那个我们在进行射转,射转跳那个跳转的时候啊,他会带上那个软线网站的回掉地址, 然后呢, b 网站验证通过之后,会根据这个回调地址啊进行个调用,也就是回调啊,并带上我刚才颁发的一个扣的好看,这个扣的,大家记住啊,不是拖更,不是拖更。然后呢, a 网站收到回调之后会提取这个扣的,因为我们拿给他,对不对? b 网站给他了,然后 a 网站的话, 嗯,拿去这个扣子之后,再会去调用 b 网站获取托根的借口,并带上 a 网站在 b 网站上上面注册的可爱的安利和克拉斯科学的,也就是说我 a 网站跟 b 网站进行一个,那个是,嗯,换季拖根的时候,嗯, a 网站必须要在 b 网站进行一个注册,这个 clan 的啊,也就是我们经常去使用过的一个 应用啊,第三方平台,我们在第三方平台去注册 app 这个应用啊, ok, 好,大概我们看下这个图啊,别说话,看图好,前面讲到大家都困了啊,好,我们再看一下图,首先我们一个用用 a 请求 b 网站账号登录, 就是在这个里面,我们在网站请求,然后呢, a 网站会返回一个授权跳转一个链接啊,这个授权链接是跳的 b 网站,然后呢, 用户拿这个点击这个跳转链接进行个请求登录,并输入用户名和密码啊,用户名密码,然后登录,然后到 b 网站就认证通过吗?通过了对不对?然后会带上扣的毁掉 a 网站啊,毁掉,毁掉 a 网站, a 网站之后的话,他会返回带上一个扣子进行一个访问这个 a 网站,然后 a 网站收到了这个扣子,然后又会带上这个扣子和这个扣子端的一个信息啊,也就我们在他上面注册了 clan 啊 应用啊,然后就会换你哦调用那个获取拖更申请拖更的一个借口,并网站认证,也是进行一个信息合适之后,然后就返回这个拖更啊,根据留客的换取到一个拖更啊,此次整个六人就认证完成了,然后呢这个拖更就会跟这个用户进行一个绑定啊,进行一个绑定上了啊, ok, 然后呢我们看一下这个,呃,简化模式啊,简化模式,简化模式就是他会有个中间人攻击的红线啊,因为他是什么意思呢?我们看一下简化模式,在射眼码的基础上减去了获取授权码的一个步骤啊,也就是说他把第一个这个步骤啊去掉了,去掉了,我们看一下他怎么做的 步骤,去掉之后的话就是 b 网站认真通过之后直接返回脱根,哦不,是返回社群码,这个又又又称为一个隐藏式的一个模式,隐藏式的模式好,嗯,所以 简化模式相对于那个社群码模式的话,就是实现起来更简单,因为他省去了获取那个呃社群码的过程,直接给你个拖开好。然后呢,我们看一个步骤,就是跳转到 b 网站设置页面,输入 b 网站用户名和密码,然后 b 网站认证服务验证通过回调网站 a 提供的一个回调地址, 并带着拓客信息,到时候 a 网站就有了一个 top 点,是不是?我们看下这个图啊?首先同样呢,前面的步骤是请求 b 网站账号登录,然后呢返回授授权跳转链接, 拿到社员跳转链接,用户点击之后就会去登录,嗯, b 网站对吧?然后输入 b 网站的用户名和密码,这个时候 b 网站就直接返回这个拖根,回掉这个 a 网站提供的一个回调地址,这时候就已经拿过来拖根,所以呢,他省去了这个步骤好,靠的,这个步骤对不对? ok, 然后我们再看一下啊,前面讲了授权模式和简单模式,我们再看一下密码模式啊,这个我看我写的啊,就是除非没得选采用,采用对不对? 毕竟涉及到拥护一个隐私,是不是?涉及到拥护的隐私,这什么意思呢?就是 a 网呢,要求用户直接输入 b 网站的一个用户名额密码, 对吧?这肯定不安全的呀,我在 b 网站成了用户名的密码,我直接在 a 网站进行输入是不是?那肯定不太安全呢? a 网站自己拿用户的名和密码去 b 网站进行登录,直接获取,错坑对不对?同时虽然功能也能实现对不对?但是呢, 你毕竟你在其他网站上输入另外一个网站上的一个用户名密码,这肯定是不太安全的呀,对吧,你哪知道?嗯,这个网站有没有存呢?虽然 协议要求那个网站不能去存,但是谁知道呢,是吧,所以我们再看,就看一下这个部长, a 网呢,要求用户输入账号密码, a 网站携带账号密码去 b 网站认证, b 网站认证通过直接返回拖根结 a 网站。好吧, 这是哪一步骤?我们直接看图啊,看图将会了解的更清晰。首先用户输入 b 网站的账号和密码登录这个 a 网站, a 网站的话就携带账号密码和客户端信息申请拖客,然后 b 网站直接返回托坑给 a 网站好,这个时候就直接登录成功了,对不对?这个一般不用,除非没得选才进行使用啊,因为这个超不安全的。 好,最后一个充电模式,我们讲一下客户端的一个模式啊,什么叫客户端模式呢?客户端模式其实跟用户是没有关系的啊,根本都涉及不到用户啊, 他是网站间的相互认真啊,应用之间的相互认真,其实也可以说他不属于奥斯拉啊,因为网站 a 自己的身份,用网站 a 自己的身份去 b 网站认证获取脱根,也就是我们刚才在那 b 网站注册的一个 clan 的对不对?应用 投看 a 网站上的所有的用户去访问 b 网站的资源都是用的 a 网站自己的客户端信息,并不是属于用户的一个信息。去访问 b 网站的资源,好,这是客户单模式,让我们看一下客户单的模式,一个场景啊,这个一般用微服务之间进行认证啊,比如那个服务 a 啊,向访想访问那个啊,这里面文档修改一下啊。 想访问服务 b, 那么服务 b 呢?需要去缴验服务 a 有没有权限访问自己,所以呢就需要缴验服务 b 的一个拖更,这时候就可以采用客户端模式,对不对?后面讲自然服务去认证,切个 高跟的时候用的就是这种方式啊,不过后面我修改了啊, ok, 我们看下这个图啊,看图看图将会了解更加清晰啊。首先 a 网站写在客户端的信息,也是我们注册的一个申请的一个可烂的信息,然后去申请这个拖更,然后 b 网站就直接针对这个可烂的信息 颁发一个托肯给啊,哎,网站好,现在的话,四种授权模式讲完了,大家是不是有个疑问,前面三种授权方式拿到托肯之后是怎么和用户进行绑定的呢?也就是说我这个用户登登录完之后的话,必须要通过毁掉, 通过毁掉然后把这个图案给 a 网站了,那跟我用户有什么关系呢?怎么跟用户进行绑定的呢?好,这个接下来我给大家进行讲啊,因为接下来我们就直接是撸起袖子开始干了,对不对? 我们会在最后的话有个常见问,这里面会给大家进行解释一下啊,他怎么进行锻炼用户的啊?好,我们先休息一下,稍后继续。

ok, 我们继续上节课的内容,还有一种就是直接调用这个接口,拿到他的一个功效啊。 ok, 好,然后我们现在理论片,理论已经铺垫完了,我们人政府已经已经创建完了,对不对?现在给大家演示一下,演示一下这四种授权模式啊。好,首先我们演示的一个授权码模式,授权码模式的话我们 怎么做呢?第一步按照那个流程图啊,我们第一步,第一步嘛,我们看下这个啊,了解啊,四种数学模式,对吧?四种数学模式,我们看一下第一步,第一步用来干嘛呢?我们回顾一下,首先我们 请求别往那拿到一个授权链接,是不是?然后呢?跳转这个授权链接,我们现在就是这个就是授权链接,我们演示一下啊,这个就是授权链接,我们这里面拿着这个链接,我们去浏览器打开浏览器啊,首先我分析下这个浏浏览链 里面带了哪些东西啊?一个 srice, 嗯, ris, 胖子太保等于扣的,还有一个 token 啊,还有一种类型的扣 token 啊,就是我们说的一个简单模式啊,我们这里面扣的啊,然后呢,看来带上你的可爱的 id, 这用来教下你的什么呢?好,然后我们打开一个, 我们打开它看一下,它让你输入用户名跟密码,对不对?这个大家记住啊,这个不是输入可烂的星期啊,这是输入用户名密码啊, 这里面我们就输入我们的爱马仕,对不对?我们大家还记得我以前的昵称叫爱马仕,现在改名叫那个聊编程了,对不对?更好记,更亲切对不对?好,我们点一下登录啊, ok, 点登录之后我们可以看到出现了一个这样的一个授权页面,对不对?授权页面,然后我们点击一下啊,我们点击一下,点击一下,大家看到跳到百度,对不对? 这什么情况呢?这什么情况呢?为什么这样呢?其实这个百度啊,就相当于我们刚才那个 a 网站啊,看一下后面带了什么,是不是带了我,咱们的扣的,咱们的扣的,然后我们拿上这个扣的,对不对?我们走第二步,拿这个扣的,我们去获取用户名跟密码,不是获取那个高跟,对不对?拿到了,我已经拿到,我也拿到了, 然后我们需要这样,这个是我自己写的,一个脚本啊,一个脚本啊,大家也可以直接用 pos 闷进行请求啊,我们把这一个给他替换掉,扣子给他替换掉,我们看一下啊,看一下, 我们把这个清除一下,我们把这个放进去,看一下是不是拿到托坑了,是不是拿到托坑了,我们把这个托坑给他格式化一下,看一下行不行啊?看这里面托坑里面到底是个啥?可以看到拿到可,哎, 托根了,是不是拿到一个托根了?重枪样的,我们这个这个托根胎宝也拿到了, b 二是不是 ft took 也拿到了,对不对?好,现在我们这个托根拿到了, 然后呢?用 id 也是我们自己定的,对不对?可操个难啊?然后我们再去再去验证一下啊,所以说我们的视角码模式我们已经完成了,对不对?但是呢,我们还要再加一个验证啊,再加一个人,这个我们加一个,嗯,刷新掏坑的一个认证啊,刷新掏坑,还有零是加的, 我们一二三四刷新拖杆不是四吗?啊?五了, 一二三四五啊,这个看一下啊,授权码模式获取 刷新套感, 我们保证跟他一样啊,一二三四, ok, 就这样刷新掏根,对不对?刷新掏根我们怎么去用呢?我们看下这里面, 这里一个刷新拖更,刷新刷新拖更的一个杰克,是不是?我们拿着这个拿这个地址啊?我们把我们的刷新拖更的这个地址拿进去,就是我们刚才复制的这是一个刷新拖更, ok, 已经复制上了,对不对?然后我们啊切换这里面的,看一下能不能拿到我们的一个托克啊?我们点发送可以看到咱们已经拿到了咱们的一个新的托克灯,对不对? 所以呢,咱们这个也是有效的,有效的,然后可以他可以重复拿的,可以重复拿的,他他这个是通过一个手机进行一个进行一个设置的,我们把这个代码弄一下,我把它放到笔记里面去, 嗯,直接放到怎么的?雨雨雀对吧?好多人去问我这个文档编辑器叫什么?大家如果在观察再细一点的话,可以看到啊,这里面也是叫雨雀啊,雨雀啊,这个文档叫雨雀阿里的, 哎,然后他这里面我们把这个东西给他放过来, ok, 这样就 ok 了,对不对?好,这个第一个授权码模式我们讲完了,我们演示完了,对不对?我们现在再演示一下我们的一个简单模式啊,简单模式很简单,同样的我们把这个 东西给他输进去打开就行了,我们开一下,因为他之前有那个认证登录啊,我们给他开 开无痕模式啊,看一下无痕模式来搞一搞一下,对不对?这里面按马石,同样的我们也是我们的按马石,对不对? 同样的进行授权,大家看一下授权,授权之后之后的话,大家看到这里面和我们那个文档中描述一样的,直接把这个拖更通过这个返回了,上一步设计码模式是不是直接返回到时候扣的, 对吧?所以呢咱们这个简单模式很简单用,用完了不需要两步,只要一步就搞定了。好,然后我们再来用户名密码模式啊,也是一步也很简单, 用密码模式怎么制作呢?我们这样我们把这个复制一下,复制一下,然后我们拿到咱们的控制台, 可以看到用英语密码模式的话,我们拿着这个讲吧,这个清除以上 啊,或客户端获取获取操任对不对?看下他这里面有个扣可烂的认证信息,对不对?就我们刚才讲的要需要拿着可烂的认证信息。然后呢这个参数格式的 tep、 peppa, 帕斯沃的叫帕斯沃的,前面都是叫那个 啊,设计码模式对不对?然后呢这里面用户名填顶的用户名给密码就行了,然后我生产的话就是咱们的就是这个,我们给他访问一下,我们用这个用这个访问吧, 像这个防护侠可以看到咱们已经拿到,可以拿到咱们的托克,对不对?所以呢咱们的用户敏跟密码模式也是 ok 的,是不是也是 ok 的?然后呢我们再看一下这个用户密码模式,弄完了,我们看下 客户端模式啊,客户端模式也很简单,也只要一副,所以呢,我们拿这个客户端模式,我们先不用那个了吧,我们用这个或者说明码模式,用这个 客户单获取套单后单获取套单。弄了什么啥呢?就认证,这里面同样的可烂的认证信息,对不对?就是可烂的 id, 可烂的 squeet 在这里,然后这里面个人太不就了, clan 的可认就打死, 这怎么着?第二次对不对?然后我们点一下发送,发送他这里面有个是胳膊,对吧?然后这个不管了,他只要他能 嗯,返回额才脱根,大家有没有发现一个问题啊?就是咱们的一个客户端或者脱根的时候,他是不会返回 raffy 的脱根那个信息的,就要再次脱梗,对不对?好,这就是针对客户端的一个续期,用客户端呢,不需要刷新,因为是很时间很久的,对不对? 他不需要了。好,这四种射箭模式我们已经讲完了啊,已经讲完了,嗯,大家可以自己嗯,自己去动手操作一下,我们看下这个代码,讲完之后我们再我们看下这个整体的一个代码。认真啊, 整个的一个目录结构是这样的,可烂的 tis ts 分为两个,一个可烂的,一个 u 则的,一个 tis, 是不是?然后这里面有个授权配置对不对?有个授权配置,然后这里面是安全配置,就是之前我们以前以前配过的四个,四个问题的一个,嗯,一个拦截,一个过滤器的一个方式啊, 好,那其他的东西的话我都事先准备好的,都是事先准备好的啊, ctrl 啊,这样的。 ok, 好,晚上我们继续看一下,看下一个认真服搞定了,我们现在干嘛呢?我们先休息一下,稍后继续。

今天给大家讲解一下关于微服务场地下的一个安全认证的一个加股思路。首先,呃,我这次讲解的是基于 suecore 的 screen tea, 加好多奥特曼, 我们都知道呃,传统的我们都是采取单体的这样的一个服务,从安全认证的一个角度来讲的话,我们可以分为啊认证以及授权。 从单体的那个场景,单体的一个服务场景来说的话,其实认证跟授权都是在一个服务之中啊,这是一点。第二点呢,就是单体应用他的绘画是会有状态的,然后呢,每一个客户端登录以后,后端都会啊保存这个客户端的一个写审的一个绘画信息。 那么针对微服务场景下面呢,我们会衍生出很多新的问题啊,当然他还是需要啊做一个安全的一个认证,这是不可避免的。然后他同样也是要面临认证跟授权这两大核心的一个问题,然后我们来看一下他会面临衍生出一些什么样的问题呢?首先在微服务场景下绘画是没有状态的,那么我们解决的这是讲解解决的一个办法,就是基于额头 二点零颁发令牌的方式,最终实现后台啊不再维护登录用户的一个信息,然后颁发令牌以后呢交给客户端来自己进行保管。衍生的第二个问题呢,就是服务之间令牌服务之间需要传递用户的这样一个信息,实现共享。 那么令牌在微服务之间的一个传递,我们采用的一个解决办法是啊,第一网关单位转发,然后第二微服务之间及使用后跟费进行一个啊传递。 第三个问,第三个问题是用户的信息啊使用什么载体?因为我们上面说到被服务之间通过令牌啊共享用户信息, 那令牌我们采取怎么样的一个载体才能把我们的信息啊放在这个动感里面,也就是令牌里面实现一统传递呢?这样我们这里就采用了 jwt, 然后实现用户之用户的一个信息直播完,并实现防范改,然后还最后还有一个问题需要面对的,就是说集群之间内部服务之间的一个互相交流的问题,因为我们知道 我们继承的是菲斯格里提。以后每个微服务之间都需要进行一个授权认证,那么我们需要啊,在这个已有的一个授权的规则上面,通过使用内部使用标记的方式,然后做一些例外的假的规则啊,也可以,如果要求更严格的话,我们可以使用一个客户端,客户端的一个整度的一个认证模式,就相当于多加一层防护 好。下面我们通过图例来进行啊,上面说说到的面临的问题,进行一个我们的一个讲解,我们可以看到,呃,在微服务厂里,上面我们把授权跟资源,授权跟认证啊是单独分开的,首先 用户授权认证分开,我们可以看到啊,首先客户端通过请求啊,向这个认证服务器啊发起一个认证,然后获得这样的一个令牌,通过获得令牌以后,携带这个令牌去请求我们的一个资源网关呢,这样你会代为转发啊,把这个令牌一同携带转发到啊我们对应的微服务里面, 那这时候就会涉及到资源的一个授权,资源授权的话也就啊需要实现我们刚才讲到的需要面对的几种问题,第一种就是并排的一个授权认证,以及 啊令牌的一个教练以及资源的认证,还有内部服务的一个认证,也还有就是说没服务之间啊令牌传递的一种方式, ok, 这就是哦,这是讲解微服务场景下面的一个安全认证的一个架构的一个思路啊,下面做一个总结。首先在微服务场景上面,我们的安全认证机制中,认证跟授权是实现需要实现分离的。然后第二点,集成额度 q 按点名按法令牌 来实现规划无状态啊,这个令牌由客户端执行管理。第三,通过网关转发,服务间通过欧冠肥给转发啊实现这个令牌的一个在服务间的一个啊传递功效啊,通常会在请求中,请求头中携携带这个令牌。第四点,通过集成这个 ad 实现这个深层的度根啊,以他作为一个用户信息的一个宅地,实现用户信息的质保函以及防范感。第五点,集群内部服务性的一个呼叫,可以基于授权逻辑的基础上增加意外的规则,这个需要我们自行实现。

这是一个笔记应用,这时笔记应用希望增加一个功能,允许用户将笔记内容保存到第三方网盘的个人账户上。要怎么操作呢?首先最简单的让网盘提供一个写入接口,笔记应用调用接口可以往任意用户的网盘里写入任意内容, 这个便是 os two 的客户端凭证授权流程。但是这种流程给到笔记应用的权限太大了,存在很大的风险,这种方式只适合内部的微服务间调用,作为第三方的网盘肯定是不答应的,网盘更希望能用一种 用户授权许可的方式。那么我们可以像单系统登录那样,由笔记应用自己创建一个登录页面,提供给用户输入网盘的账号密码,用收集到的账号密码调用网盘的登录接口,获得授权凭证之后,就可以使用凭证来调用网 盘的写入内容借口了。这就是 os two 的密码授权流程。但是这时候我们可以敏锐的发现,这种授权流程笔记应用是可以直接接触到用户的账号密码的, 一旦他使坏,悄悄把用户的账号密码保存起来之后,就可以不经用户的允许私自申请网盘的授权,这非常不安全。 通常这种授权流程只适合多个系统都是自己人的情况,而事实上,所有通过 os two 授权给第三方的平台都不会采用密码授权流程。那要怎么办呢?我们还可以在需要授权时 转到网盘的页面,让用户在网盘的页面输入账号密码,登录成功后再跳转回笔记应用,这样就可以避免笔记应用直接接触用户账号密码了,但为了方便网盘在用户登录完成后正确跳转回来,通常会在跳过去的页 u i l 里加上回调地址,还会设置购物参数,用于表明授权范围等。那么,网盘健全后,如何把授权凭证告诉笔记应用呢?很简单,在回调的 u i l 上带上授权凭证参数就可以了。 要回笔记应用后,笔记应用就可以解析 uil 里的参数,用于后续的网盘接口调用。这个便是 os two 的影视授权流程。影视授权的特点就是授权凭证是通过 uil 传递的,客户端拿到授权凭证就可以直接使用了,不需要经过后端服务器的处理, 通常是一些没有后端服务器的存前端应用使用的,例如笔记应用就很适合这种场景。但是通过 u i 要传递授权凭证,授权凭证是可以从 u i l 里直接看到的,浏览记录也会保存着,存在泄露的风险。另外,如果处理不当,例如收到授权凭证后没有清 当前 u i u 的参数,很有可能 u i u 被用户分享出去,导致授权凭证泄露。所以,如果应用端有后端服务器支持,通常采用的是 os two 的授权码授权流程,这是最常用的授权流程,几乎所有的第三方授权、社交账号登录等用的都是这种 影视授权流程的区别在于,授权码授权流程并不在 u i 要传递授权凭证,而是用一个扣代替笔记,应用收到后,将扣发给后端服务器, 由后端服务器通过扣向网盘换取授权凭证。通常扣是时效短的,一次性的交换完就作废了, 所以不用担心扣泄喽。又由于后端服务器可以和网盘之间约定好密要进行通信,所以比影视授权流程会更加安全。授权码授权流程除了返回授权凭证外,还支持刷新凭证,可以用刷新凭证来重新获取授权凭证,从而达到静默延长授权凭证的效果。

大家好,今天给大家分享一个基于 spring offer 统一授权登录验证实现案例,先看看演示效果, 接下来我们来看看实现代码,这里配置的是需要授权的客户端 id 和密要, 这个方法是授权后的回调方法,主要是获取授权的用户名和密码进行登录,这个方法是给第三方系统获取授权用户名和密码的,我这是为了测试给的默认的用户名密码,真实用的话会查数据库。这个方法是认证系统的登录授权, 要认证成功的话,需要把授权客户端 id 和密奥配置在认证系统库里面,密码要用加密方式存储 在库里,还要配置授权类型和回调方法。地址, 这个是认证中心登录成功后要调用的方法,会会查询客户端 id 和登录信息。今天就分享到这了,有不懂的可以联系我啊。

嗯,又回来了啊,咱们,咱们继续咱们的话题, 继续咱们的话题。 前面已经讲了两集了,就是把这个, 把这个二四点零,基于内存的和基于数据库的,对吧?基于内存,基于数据库的, 咱们基本上算是讲的差不多了。今天呢?今天呢? 我们就要戴上,戴上微服务这块,对吧?我忘光微服这块。好,那么我们先先把这个东西启动。 she, don t, 嗯,这个是授权服务器,对吧?就是认证服务器,嗯,然后往关 网关,就是我,我,我们用这个,这个到时候你拿到原码的时候也是一样的,我们用这个 就是这个, 然后还有一个,这个就是微服务了,对吧?我们用这个, 那首先让我们看一下效果,微服你肯定有个浪吧? 肯定是那个,我,我用的是那个, 我用的这是咖色,你看这个已经过来了啊。 嗯,那关于微服这个我就不讲了,对吧?怎么 注册中可看似这个注册中心怎么他将为服务,是吧?那么我们就看这个短口,对吧?这个是九千,这个没变,这个网关的借口是九九九五, 这等于这个是授权服务器,也可以入户,对吧?我们用八零八零八八。好,那么我们先看效果,对吧?我们还有一切,从 一切就从效果开始,我们还是还是这个, 然后我们去请求请求,然后登录,然后返回, 好,回去之后我们去拿掏坑,我们去获取掏坑去,嗯,这个,这个就可以。 好,我去掏款之后,那我们就去请求请求那个九九九五。通过九九九五吗?那请求他,那么我们先,我们先看一下我之前测试的,看这个还有没有效, 嗯,说明他已经失效了,那么我们把,我们把最新的放, 哎,他通过了,我们再来看一,对吧,我们再再敲一个三, 对吧?这个放回不了啊,再敲一个四,好,那么我们现在看为什么会产生这个效果?这样的效果我们已经从效果开始,对吧?这个,这两个是可以的,盖的一,盖的二,这两个是可以的,刚才也看到了, 那这两个是不行的,对吧?刚才这个演示的已经很清楚了,那么再再看一下这个里面的柱结, 这个 househouse reading, 看到没?这两个柱间是不一样的。 孩子 n 肉,这两个是不一样的,那么我们再看一下,呃,用户,对吧?你肯 登录,你可能用户用户上面权限吧, 然后你看吧,我们先,我们用的是他的密码,我的命里面的权限,你看这里有个肉, 这里有一个,呃,这里有个,是这个,看到没?你就是说 you the get 比 you the least you the get 啊?这两个都是 you the get, 那么我们换一个, 咱把它换成,换成绿色的,对吧? 很厉害。之后我们重启一下,把这个微服务重启一下。 重启之,重启之际,我们看一下啊,这个肉肉肉是柚子一,我的命二啊,肉子一,我的命二。好,冲击之后 我们再去请求我们看电视,还是不行,我们我们用 get 它 get 也是可以的,那 get 也是可以,这说明什么问题? 我现在让你说什么什么问题?第一,这个肯定是没剩下,这两个没剩下,为什么没剩下, 对吧?好,咱大家再看一下这个奥德米二,看到奥德米二了, 这个是一个三十五六七,那么我们我们现在把这个缓存清一下, 缓存清一下,我们演示 清楚, 好,我们去,我们演示这个,我们再来, 我们养一,一的话一二三四五六七,对吧?好,好,又加到这个一米,好,同意, 好,有个有个扣的,好,我们拿这个扣的, 再扣了肯定就不对了,我们拿新的扣的 放到这。好,那么我们去请求,二啊,哎,二不行,哎,一不行,哎,三可以了, 四可以了,好了好了,嗯,这个我,我把这个,把这个,把这个看一下啊, 大家看一下啊,我就不说,我就不说,结论了吧?这个,这个,这个已经非常非常明显了,这个结论你看吧,这个是肉丝, 这个是权限,这个角色,这是权限,谁在后面?谁生肖,看到没?这个结论局,谁在后面?谁在最后?谁生肖,懂了吧? 好,那么我们,我们说,如果说我们现在这个,我们现在这个系统搞好了,对吧?那怎么用呢?那我们是优秀词呢?还是用权限呢?那 一般来说,一般来说会是会用权限的,因为我们的,我们的那些吸引力度的权限控制, c 力度的权限控制一般都是在,一般都是在这个权限表里面有个有个扣的, 这个扣的就是细力度的全新裤,这个马哈尔滨 ac 这些 这些基于强势的权限控制,我,那个,那个,我的,我的,我不,我就不给你给大家再普及那些的试试了,就比方说增商改查、审核,对吧?请求这些按钮级别的这些权限,对吧? 那你就肯定是,就像,就像这个一样,比方说他有什么盖的权限,还有什么利索权限,他们什么 add 啊,什么删除,这些权限基本上都是这样, 对吧?而且很少很少很少用肉直接做角色的, 你吸引力度的,肯定是吸引力度的,每每一个方法请求的,这个这个我就,我就不给你多讲这些东西了。 好,那么演示这个算演示完了,那么这个这里面的我就不,我就不说了吧。刚才演示的第一,嗯,自定 一登录跟自定义授权,这这个界面大家都看到了,那个,这个,这个怎么实现的? 现在在哪里实现的?这个大,自己去摸索去,自己去学习去,因为我,我已经讲到之前这个代码我已经给你讲的差不多了,你应该 应该能,应该能看懂这些东西了,对吧?没,没什么。 然后呢,我就说一下这个这类的,嗯,首先网关的, 网关的我现在是做只做转发,网关是不做 啊,不做资源的验证你资源核心,你肯定要验证验证权限吧,对吧?你有一个掏分过来这些东西,这些东西我就我就不讲了,他是他只是做了一个转发,那么掏分的转发 他没有去验证,掏根是不是有效啊?是不是合法呀?他没有做这个东西,这个大家去看代码就行了, 很简单。那么我那么真正的,对吧?他有没有权限?权限过来了,借口要不要吊用?他是在,他是在在这个微服务里面的, 他在这里去较量权限的,对吧?因为因为你看嘛,我的一个用户上面 加了那个全新足协的,肯定是在微服务里面的,对吧?如果说你统一到统一到网关上面,你你微服务这里就不需要加主页了,因为 因为网关这里已经已经做做了全线拦截了,那现在网关这里没有做全线拦截,那肯定要达到这个微服每一个微服上面了, 微服上面的这这个就是这个就是现在现在重点,今天重点要讲到这个微服务的怎么去做全线交线的。 首先呢,这些都不讲,这些都是因为服务有关的,那这就是资源吧,他肯定 作为资源服务器的。那还有一个问题啊,那我们这个微服务,我们后台肯定有很多微服务,但是不是每一个微服务都都去做资源服务器的吧?对不对?这个能理解吗? 我们首选第三方用的接口,肯定是在某一个或者某纤维服务员 啊,你你,你是全部的微服务里面都都有借口,也没问题,对吧?我的意思是说有可能 以一部分为服务做了自然服务器,一部分为服务就是内部调用的,对不对?那这一块呢?那这一块呢呢?比如说这个就不需要了,因为他是这个,这个加薄就不需要, 如果说单纯的是内部调的,对吧?他只需要,他只需要这个四口日子就完了,对吧?跟这两个就可以了, 对吧?这个这个也不需要了,有资不是这样夫妻的话就不需要,就不需要,这二三人民看这这些东西,对不对? 那这两个,这个是,这个是那个 gwt 教练用的工具类算是。 那么后面呢?我们我我再去做这个指指示,内部指示,内部的不是自然服务器的恢复,这个我后后面还会去做,到时候还会去给大家演示。那么现在这演示的是他既是后台 电源的,又是四点零 t 三方电源接口的,这是微服务,对吧?好,我们看一下这个配置啊,这些这些不说, 这些是我测试的,我就注掉了,没用的,那么有用的就是他。第一,首先这个,这个柱姐,这个能都能看懂啊?他自然浮起的一个柱姐,那么这个柱姐就是开启, 嗯,柱姐授权,对吧?你,你柱姐授权,就刚才这个,这就是柱姐授权, 也就是非常,基本上是刺激力度的。 好,这个上面, 那这他这个也是个继承的一个资源,资源在国际的一个借口。当然这个斜法有有好多种啊, 我这个算是比较老的,很老的一种小,然后这些这些这些很,这个很容易理解吧。那这个为什么会这样的呢?为什么这里又又加了个 gwt 的,又是个这个 某八代码清了,然后我们看看这个叫任政府,这个 造福汽车 好,大家看到没有?这个签名啊,必须签名,这两个签名必须一致啊,不可以自己你不一致你就坏事了,不一致你可以去试,对吧? 这个就是为什么说这个怎么算是一个加密的?对你这个对你的头肯,对你这个东西做,做了一个,做了一次加密的。 好,然后我们继续看这个,这些这些没什么。然后你看嘛,这个资源服务器的资源 id, 这个是头梗,这些这些都 没,这其他的都没什么。然后叫燕的,看到没?这这这个也没什么,这基本上都通,都通过了,所有的结果都通过。 这个是客户端的授权,这个我看一下大家,大家看一下这个有没有用到?看下这个没用,这个好像也没,也没怎么用,这个就后面做自定义的时候, 哎,这就完了,那现在呢?现在我给大家演示的呢,在这个过程啊,明白吗?同一个,同一个东北用户,但是当然现在这个东北用户是在 内存里面的,这这个我觉得这个我觉得你去网上看一下,很容易就变,就能变成给予数据库的,对不对?这个很简单,这个不是,这个不是技术,技术难点。 那么大家看我登录之后,我就不管是收钱他还是收钱,微服务里面的都可以了,都可以实现的。我只需要登录的时候把把我的权限, 把我的权限放在东,就是我 登录认证的时候把权限放在放在这里面,对不对?我只是现在放在内存里面,你可以后面开的放在数据库里面, 对于 rbace 的这个角色的控制权限, cd 度的权限控制,这个你你你资源,你不管是你第三胖还是内部的都要用,有没有权限,我一样可以拦截你, 对不对?你看我之前我一样可以把你拦截,拦截到你有没有权限访问,对不对?好,那么今今天要讲的呢, 就就是这些,看我讲的很很简单,是因为我之前做了,做了铺垫了, 那么后面再后面我们要做什么,就一一要做什么工作。第二第一就是一些自定义的,比方说你用 用户登陆用户的,你放在放在数据库里面,这,这是一层。第二一层呢就是你第三方登录,你可以做做一些第三方登录,比方说你通过微信,那么让他登进来 就是让第三方登进来啊,我说的是第三方登录,这这肯定要登录的,那么你内部的也要可以啊, 就是你,你这个东西看,是不是就是你这,你这个系统啊,是不是要对外的?就是面对面对 面对互联网用户的,你,你第三方的肯定是面对互联网的,嗯,对吧?这个网上也有啊,我给大家看一下, 网上也有这种例子啊,你比方说这个文章啊,这里面他就有,他就有那种个性登录的,个性登录的,你看说有微信登录的,可以登录啊, 对不对?大家可以去找一下, 你看嘛,这个二比一 c 的, 嗯,这个找不到了,这个我下下去呢,也会去 去去去尝试做,但这个不是我们的重点了,第一我们的重点,第二就是老的,老的这个二十二点零,我现在已经是已经基本上给大家讲清楚了, 就虽然我这个代码实现比较老,对吧?但是他,你看嘛,我是用的二点七点三的 这个二零二零七点三的就非常新的代码,但是他也可以实现呢, 对吧?你,你把这些整合到你这个,你那个内部的微服务项目里面,这完全没问题。 那么后面的工作就是做一些优化代码的优化,你看我们现在这个 好多代码的都是,他都是已经过期的了,你看吧,他就是打了一个杠子,也是已经是过期了。那么今天呢?我看到这个,嗯,看到这个 他的这个新的新的授权风气啊,是一点零的 m 二,一点零的 m 二, 那么这个呢?后面呢?我着重的,我着重的会会做什么呢? 会进行最新的,最新的 就是我这个 我会切换到三点零的,明白吗?就是我这个工厂我会切换为这个三点零开发的, 就这个二点六的已经那了,就是他二点六老的版本里面的我已经基本上, 嗯,核心的内容已经讲清楚了,如果说大家还有什么其他的其他的问题,对吧?大家可以呢?大家可以 不管是直接找我还是是还是视频,视频上面留言都可以,但是我后面的重点, 重点就是最最新的了,那么最新的是什么?第一, 此本报道三点零,最次本报道三点零。嗯,这个也是最新的是二,二点二二还有权限的, 全新的,最新的,最新的,呃,授权服务器一点零,对吧?都基于这个,而而零点四我都不不会再去考虑了,包括这个零点三,零点四, 嗯,我后面会后面看吧,重点就是重点都是一对, 我回去再去管其他其他分支的了,包括老的,老的分支的,对吧?好,嗯,大家有什么问题就留言吧。啊, 好,现在就今天就讲到这里了,还是说还是我说的大家一定要去自己去自己练走这个过程啊。

欧阿斯二点零协议是一个基于授权的开放标准,他允许用户授权第三方应用程序访问他们在其他服务提供商资源服务器上存储的信息,而无需提供用户名和密码。在欧阿斯二点零中,授权过程分为两个主要步骤, 授权码模式和访问令牌模式。在授权码模式中,第三方应用程序首先通过 http 请求发送授权请求到授权服务器并跳转到授权页面。 用户在授权页面上输入其用户名和密码进行身份验证,并授予第三方应用程序访问其存储在资源服务器上的信息的权限。授权服务器将返回一个授权码,该授权码与用户和第三方应用程序关联。在访问令牌模式中,第三方应用程序 将使用授权码请求访问令牌。授权服务器验证授权码并返回一个访问令牌给第三方应用程序。访问令牌是第三方应用程序访问用户在资源服务器上存储的信息的凭证。以下是 oix 二点零协议工作原理的详细说明。 资源所有者,用户在第三方应用程序上点击登录按钮,第三方应用程序会将用户重定向到授权服务器。 用户在授权服务器上输入其用户名和密码进行身份验证,并同意授权给第三方应用程序访问其在资源服务器上存储的信息。授权服务器验证用户的身份和授权请求, 并生成一个授权码。授权服务器将授权码以参数的形式添加到回调地址后面,并以 h t t p 三 三零二跳转的形式发送给第三方应用程序。第三方应用程序不需要主动触发一次请求就可以获取到授权码。第三方应用程序使用授权码向授权服务器请求访问令牌。授权服务器验证授权码并生成一个访问令牌, 授权服务器将访问令牌返回给第三方应用程序。第三方应用程序使用访问令牌向资源服务器请求访问受保护的资源。资源服务器验证访问令牌并确认其有效后, 向第三方应用程序开放受保护的资源。在 o r s。 二点零协议中,授权码和访问令牌都是在安全传输协议例如 h t t p s。 下进行传输和使用的,以确保它们在传输和使用过程中的安全性和完整性。 此外, os 二点零协议还提供了多种灵活的授权机制,如客户端身份验证、密码、令牌交换等,以满足不同场景下的授权需求。 os 二点零协议通过将授权过程分为两个主要步骤,授权码模式和访问令牌模式, 实现了用户信息的安全、开放和可控的授权。访问。第三方应用程序只需要获得用户授权,就可以访问用户在其他服务提供商上存储的信息,而无需直接接触到用户的敏感信息。 这种机制不仅提高了应用程序的安全性,也保护了用户的个人信息安全。 os 二点零协议的实际应用案例有很多,以下是一些常见的例子。 dropbox, 用户可以使用 os 二点零协议登录 drop。 dropbox 浙江允许第三方应用程序访问用户在 dropbox 上存储的文件和文件夹。 google, google 提供了 or at 二点零认证服务,使得第三方应用程序可以获取用户的 google 账户信息,如联系人列表、电子邮件、日历等。 facebook facebook 也提供了 o at 二点零认证服务,使得第三方应用程序可以获取用户的 facebook 账户信息,如好友列表、个人信息、照片等。 get up get up 同样提供了 or at 二点零认证服务,使得第三方应用程序可以访问用户在 get up 上存储的代码、仓库和贡献历史等。 bit pocket bit pocket 也支持 or at 二点零协议,这使得第三方应用程序可以访问用户在 bit pocket 上存储的代码、仓 库和贡献历史等。 os, 二点零协议的应用非常广泛,在单点登录、第三方登录等方面都发挥着重要的作用。这些应用场景中,用户只需授权给第三方应用程序,即可实现授权登录或访问其存储在其他服务提供商上的信息。

大家好,欢迎来到本套课程的第三课。在本课程中,我会为大家讲解 os 二点零协议以及其实现的上半部分。在这一课程中,我会为大家介绍 os 二点零的基本概念。 在第二课时,会用拍森编写 os 二点零的一些基本功能,在第三课时中,会用 fnast 编写一个 os 二点零的授权服务器。下面让我们开始第一节课时的讲解。 在本科学中,首先我会对 os 二点零做一个概述,说明什么是 os, 他的应用场景以及 运行流程。接下来我会简要介绍四种授权模式,并对他们进行区别。最后重点讲解授权码模式。 os 是一个正式的互联网标准协议, os 二点零是它的后续版本,主要用来解决在无需用户提供用户名密码的情况下,第三方应用程序能够获取用户存储在服务器 提供商那里呃存储的某些数据。比如,当我们第一次访问某网站时,可以选择使用微博账号进行登录, 登录之后,即使我们没有填写任何个人信息,这个网站也自动使用了我们微博的昵称和头像。这个过程就是 off 授权的过程。请注意,在这个过程中 出现了三个角色,微博用户、某网站。此时欧奥斯的作用就是微博在经过用户同意的情况下给某网站一个访问权限。 一般来说是一个访问硬牌,英文名字叫做偷肯,是某网站在一定时间内可以访问用户存储在微博上的特定资源,比如头像、用户名等。 让我们来看一下整个过程的流程。在这张图中, connect 代表第三方的某网站,用户是 resort is honor 这个角色。 auto residence server 代表微博的授权服务器,由这个角色发放 token。 resort is server 代表微博的资源服务器,由这 这个角色来提供用户的头像和用户名等资源,同时资源服务器可以和授权服务器的同一个。在整个流程中, a 步骤,当用户使用微博登录某网站时,客户端要求用户给予授权。 b 步骤,用户同意给予授权。 c 步骤,认证服务器确认授权无误之后,同意向客户端发放令牌,客户端使用令牌向资源服务器申请获取资源,资源服务器确认令牌无误,同意给予资源。 这个硬牌是针对每一个第三方应用,每一个应用一个,并且拥有时效性,而且用户可以手动管理硬牌的有效性。可以看出,在这上面的流程中, b 步骤是授权的关键。下面我为大家讲解 bos 提供的四种授权方式。 授权码模式授权码模式的特点就是通过客户端的后台服务器与服务器提供商的认证服务器进行互动来获取 token, 这个过程不通过用户的委婉系是最安全的一种方法。 第二种方法是简化模式,在这个模式下,没有 os 流程中的 c 和 d 的步骤,而是用户浏览器通过资源服务器发送的代码提取偷啃并直接发送给第三方应用程序。 第三种是密码模式,在这种模式下,用户必须把自己的密码给客户端,但是客户端不得存储密码, 通常这是在用户对客户端高度信任的情况下。比如客户端是操作系统的一部分,或者是由一个著名公司出品的产品,而认证服务器也只有在其他模式无法执行的情况下才考虑使用这种模式。第四种是客户端模式, 在这种模式中,用户直接向客户端注册,客户端以自己的名义要求服务服务提供商提供服务,这其实不存在授权的问题。 其中授权码模式是功能最完善、流程最严密的授权模式。简化模式,不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳惯了授权码这个步骤。密码模式 需要用户向客户端提供自己的用户名和密码。客户端模式指客户端以自己的名义,而不是以用户的名义向服务提供商进行认证。由于其他的模式都是授权码模式的某种简化版,在本课中我们只针对授权码模式进行讲解。 还记得我们之前说过的几种用户角色吗?用户代表 ru sorry is honor can i 代表第三方的某网站, author raisin 代表微博的授权服务。这里的 uzain 直译过来就是用户代理,表示用户所使用的浏览器,因为毕竟整个授权过程稍稍有点复杂,如果浏览器能够代理我们操办一切,用户只要点点鼠标就好了。还记得 之前的 os 流程看 a 步骤吗?对了,用户通过浏览器发起登录某网站的申请,让我们从正义开始。现在某网站,也就是这个 canat, 通过步骤 a 响应用户的登录请求, 将用户重定向至微博认证服务器,并附上一个 ui b 步骤,用户微博要求用户给予授权,也就是大家现在看到这个页面。 c 步骤,如果用户同意授权,嗯,微博认证服务器将用户再次重定向至 a 步骤中某网站提供的 ui 地址并附上一个授权码。之后这个网站 通过嗯步骤 d 将授权码以及 a 步骤中提供的 ui i 向 授权服务器申请偷啃授权服务器通过对授权码以及 us 地址的核对来确认是否发放硬盘。至此,我们就走完了 os 认证的整个授权流程。让我们来总结一下这里需要实现的部分。首先,这里是一个需要三方合作的任务, 包括用户某网站,这里也叫做 clint 微博,当然也可以叫做授权服务器和资源服务器组成的共同体。 由于前一节课程中我们已经大致实现了资源服务器和授权服务器,只需稍作修改就可以满足要求。下一节课我们将进一步进行分析并兵马完善它。那么下一课时再见。

ok, 我们继续上节课的内容,我们演员要请求一下这两个接口啊,我们拿着先拿一,先申请一个托克,可以,我们首先根据这个,我们就用这个获取托根吧,用密密码模式获取托根,就是这个, 这个是羊的啊,用我们密码模式或许超肯。拿到这个托肯之后,我们看这个权限啊,是 cobe, 是 red, 是 red 权限,对不对?所以呢,我应该可以访问这两个借口, 防护罩两个接口,我们测试一下,这个是咱们的接口,这个 red, 我们我们把这个 tok 放进来,放进来之后我们测一下 ret, 可以,他返回了我们信息。这个四啊,就是我们的 u zi 一按码式,我们看一下这个接口怎么写的啊? 我们返回我们就在这个 u then 啊,对啊,这有一个基础的话,大家等会还会跟大家讲怎么获取当前的一个用户信息啊啊,因为他这个自然服务的话,其实你拿不到他的一个用 啊,我们往里面塞了那么多信息的,需要自己去解解析,这个偷看。好,我们看下这个瑞达可以权限啊,好, ok, 大家可以看到这已经有这个权限,对不对?因为我们都能正常返回了,现在我们要做的一个什么事呢?我们把这个 手机库里面这个 scar 吧,我们进行修改一下,修改一下,我们这样我们只有一个 rad 权限,也就是说我们只能访问 rad 接口,我们再一个获取手感,拿到一个线头感, 拿掏根的时候,我们看下这个 sq 吧,这个 sq 吧只有一个全样的,这个 red 全样的,对不对?然后我们再去调用一下这个接口,看一下这个通不通啊?可以看到这个是通的,对不对?但是我们防一下这个 不通了,是不是?他说当前这个自然需要 red 权限,但是你没有没有这个权限, 对不对?所以你不给访问这个,大家可以去自己定那个端点啊,端点去捕获这个异常啊,可以自己自定义的这个异常的啊。好,这个已经弄完了,然后我们再想再验证一下这个角色啊,这个角色,我们去改这个角色, 我们这样吧,我们把这个角色,我们这个要这个 red 权限的话,我们要 rodome, 我们加一个 rat, 角色可以写在一个权限这个东西,角色这样很很很明显,对不对?很明显咱们是没有这个角色的,我们把这个重启一下, 很明显我什么事已经没有拍这个角色,我们可以去数据库里面看一下啊,这个爱马仕有哪些角色啊?柚子肉啊,这个四就是爱马仕的啊,然后他有九跟十三的选项,对不对?然后我们看这个肉有一个九跟十三的,选,他这有个的一个耳朵蜜和柚子。大家记住啊,我们 们那里面写的啊,是要带上写杠开头的啊,然后杠开头的啊,不然的话,嗯, c 可以进行脚丫的话,它是不通过的哈,大家可以看它那个棉码,那个软码叫黑色弱。好,然后我们再看一下,我们看一下,我们拿下这个 啊,对,我们首先重新申请一下,因为他这个权限网关的话,我们要把我们的奥斯卡拉呢,首先他这一步都不过了,更不可能去奖励你这个权限了,我们把这个改成 res 权限,让你权限,然后我们重新拿下这个拖杆或者新的拖杆, ok, 我们把这个托克复制过来,对不对?这个这个权限已经改了, solo 吧,已经变成 read 了,我可以在这个服务进行一个 read, 修修 red 形象。好 好,然后我们再看一下,拿一下这个图片去雕英一下,雕英一下内部错误,是不是内部错误?我们看一下他报的什么错。 哦,知道了,他这个里面我托个没复制完成,没复制完成,我们把它 这个啊复制一下,然后去测试一下, ok, 可以看到啊,你可是要不允许访问,是不是权健访问?拒绝?拒绝了,对不对?现在我们想要他访问呢?我们怎么做呢?我们我们再创建一下这样一个角色,我们在数据库里面加一个这个角色,怎么加角色呢?直接这样 添加一个这个角色,就叫那个啊,把这个复制过来, 然后我们需要去除这个东西, 我们在数据库里面的话,因为我们在取的时候,我们给他嗯,动态给他加上,这个时候杠了,所以我在这里面我们给他去掉,去掉之后这里面有个十四吗?十四的,我们在这个权限关系表里面,角色关系表里面我们给他关联上就 ok 了 啊?没有一个默认值,对吧?这四吗?对不对?有了,然后我们再获取一下这个新的投稿,获取投稿你有对不对? 测试一下, 可以看到咱们已经拿到这个这个信息了,对不对?可以拿到这个信息了。好,这里面大概就给大家讲到这里了啊,这已经全部延伸完了,然后我们接下来看一下哪些问题啊,需要我们注意的,这这个也是一个小重点啊,小重点,好,我们首先看一下角色权限注解的问题啊, 就是我们不加若尔杠前缀的话,只能使用这个权限这个注解进行缴验,你这个权限,这个这个角色 如果加上那个若尔康前缀的话,可以使用使用这个三种方式啊,因为他你如果你不加若尔康前缀的话,他是不会把你塞到这个对应的一个一个一个一个手心里面的去的,所以你就访问不了,所以大家这个要注意。然后 q 弹密奥的问题啊,如果密奥没有加密,再构建 克兰迪赛的死,迪赛的死的时候一定要加上这个 nopa 前车呀,这是他一个密码的一个交警规则,然后否则的话就要 加上 bqy 的前缀,就是你需要加密的话你要加上这个前缀。好,最后我们再讲一下这获取用户信息啊,因为我们前面不是讲过了,嗯,讲过了,那个获取用户信息是拿不到吗? 对不对?所以呢我们怎么去拿呢?因为为什么拿不到呢?我们看下这个软码,软码的话就是他是进行一个调用,那个认真的时候,他进行抽取的时候,他会判断以后的底盘 sos 不等人空才会把这个加载一下这个应用信息, 但是呢,我作为自然服务的话,我们不可能再去,嗯,根据用户名再去查找一下这个用户信息,对不对?我们肯定是想要从你这个已经九的数据里面给他弄出来,所以呢我们这里面就采用这个拖更信息的方式啊,就是解析拖更的方式啊, 这里面大概大家可以看一下,就是解析这个托坑嘛,然后拿到托坑去使用家里面私信进行解析,他一个牌照的,拿到牌照的之后进行封装好,然后在项目中我们怎么 进行使用呢?大家可以看到我这里面使用的方式就是很简单的,对吧?对不对?右侧 ctrlsute 的 ute 二进行一个封装的,嗯,直接获取,这个我们怎么做到?我们用了一个拦截器啊,用了一个拦截器,这个拦截器的话帮助我们做了很多事。 右侧拦截器,这个拦截器在解析到如果以后包含这个拖根的时候,如果解析成功之后,他会放在当前这个 siric local 里面,大家应该都有学过这个 siric loc, 这个 这个本地一个现场面料啊,好,然后他这里面在完成之后会一定要记得一个移除,不然你会弄成内存会被你干扒下,对不对? 好,这里面大概给大家讲了,讲了一下。好,最后再回答一下刚开始上面做认证服务的大家提出的一个问题啊,他们是怎么进行一个进行一个用户身份绑定的?用户身份绑定的大家可以了解一下这个 这个参数啊,咱们在这里面,嗯,我们首先来获取一下这个授权码模式啊,看下这个授权码模式,嗯,授权码模式看一下啊,这个 获取射箭码,在这获取射箭码,是不是我们其实他还有一个参数啊?这个参数是默认的啊,叫斯莱特,斯莱特等于一二三啊,斯莱特,斯斯莱特这个东西啊,他其实他会,他会给你带过去的, 他会给你带过来的,就是说你在进行认真的时候,进行一个社会获取社群骂的时候,就是这个。只是拿社群骂模式的例子讲啊,其他的模式都是一样的,就拿着。 就是在我们在钓鱼授权的时候,我们需要在这个 stace 里面啊,我们传上我们自己的用户信息就行,只需要带上我们的 uid, 我们访问一下,看一下,看一下我们, 我们用密码看一下,看一下他做什么啊?看一下他做什么啊?授权成功,对不对?然后呢?他把咱们的这个变量带过来了, 带过来了有什么用呢?我们是不是就可以根据这个?因为他带过来了其实是我们的用户 id, 然后我们不就可以根据这个用户 id 再结合他的扣子放火的拖更进行一个用户关系一个关联了,对不对 啊?大部分都这么做的,对,没错,好,今天的分享的话大概就,嗯,到这里,这里面的文档的话我也会进一个发布的啊,好,谢谢大家。

那奥斯二点零他的运作原理是什么呢啊?首先啊,我们来看这是四个角色,那其实就是四个角色之间怎么样去协作的一个问题。 首先客户端要请求什么资源所有者去授权,这是第一步,什么意思呢? 也就是说你打开啊,这个手机 app, 手机 app 里面会有个页面要求你输入用用户名密码,这个过程是什么?就是代表这个 app 的客户端在要求你资源所有者请求你资源所有者给予授权,对吧?所以说第一步是啊,客户端向资源所有者请求授权。第二步 你把用户名密码输入进去了啊,如果你输入正确的,对吧?那这个就代表什么?你给了客户端去授权了,你把你的用户密码以及你的什么这个人脸识别等一些 凭证信息给了客户端,那客户端拿着你的用户名密码以及他自己的身份标识啊,他去请求什么资源服务器啊? 那这是第三步。第三步呢去请求授权啊,这时候这个这个服务器啊,验证一下啊,这个客户端确实是我们我们公司的客户端啊,并且呢这个用户名密码呢也匹配啊。好,可以,那我认证通过了,我这时候就给你一个什么令牌啊,也就是我们的所说的偷看, 我给你个偷啃,然后客户端拿到这个偷啃之后就可以再去操作了,比如说你要做支付操作,对吧?那你这个时候会去干什么?去调用资源服务器,比如说资源服务器是一个订单服务,那这个时候 你会带着什么?带着上一步给你拿过来的头啃给你的令牌,你用去令牌去啊,请求这时候 资源服务器拿到令牌以及看你要做的操作之后呢?去认证服务器去看啊,这个偷看是否是正确的,是否是有效的,是不是伪造的啊?没有问题。 ok, 那我就去帮你做转账啊,帮你去做支付啊等等操作。然后呢我给你一个啊,应答的一个结果,给你个结果。那 以上这个六步呢?就是奥斯二点零的一个啊,整个流程原理。