OAuth 2.0实战课
王新栋
京东资深架构师
立即订阅
2496 人已学习
课程目录
已完结 17 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 为什么要学OAuth 2.0?
免费
基础篇 (6讲)
01 | OAuth 2.0是要通过什么方式解决什么问题?
02 | 授权码许可类型中,为什么一定要有授权码?
03 | 授权服务:授权码和访问令牌的颁发流程是怎样的?
04 | 在OAuth 2.0中,如何使用JWT结构化令牌?
05 | 如何安全、快速地接入OAuth 2.0?
06 | 除了授权码许可类型,OAuth 2.0还支持什么授权流程?
进阶篇 (8讲)
07 | 如何在移动App中使用OAuth 2.0?
08 | 实践OAuth 2.0时,使用不当可能会导致哪些安全漏洞?
09 | 实战:利用OAuth 2.0实现一个OpenID Connect用户身份认证协议
10 | 串讲:OAuth 2.0的工作流程与安全问题
11 | 实战案例:使用Spring Security搭建一套基于JWT的OAuth 2.0架构
12 | 架构案例:基于OAuth 2.0/JWT的微服务参考架构
13 | 各大开放平台是如何使用OAuth 2.0的?
14 | 查漏补缺:OAuth 2.0 常见问题答疑
结束语 (2讲)
期末测试 | 一套习题,测试你的掌握程度
结束语 | 把学习当成一种习惯
OAuth 2.0实战课
15
15
1.0x
00:00/00:00
登录|注册

结束语 | 把学习当成一种习惯

王新栋 2020-08-04
你好,我是王新栋。
当你来到这节课的时候,我们的课程已经接近尾声,相信你在课程的学习中都有所收获。在最后的这节课,我想跟你谈一谈如何学习 OAuth 2.0 这门技术。
在谈起如何学习这个话题的时候,我很愿意跟你分享我的一些经历和经验。我个人认为,学习从来都不是一件容易的事情,夸张一点讲有点“反人性”。你想啊,谁不愿意,在工作忙碌了一天后,晚上回家多陪陪家人;又有谁不愿意,到了周末去找几个朋友打打篮球或者陪女朋友看看电影呢。但是,学习一定要养成一种习惯。我在《程序员思维修炼》这本书中读到这么一段话,分享给你:
知识投资也是一样。你需要定期投资最低限度的时间量。养成一种习惯,如果需要的话。躲到你的家庭办公室里去或者走进有无线网络的咖啡厅。并非每期学习都同样富有成效,但是只要定期安排学习,长期来看一定会成功。如果你一直在等待空闲时间或者等待灵感的突现,那么它永远都不会发生。
在具备了上面所述的“定力”以后,我再和你谈一谈具体的学习方法。
我按照层次由低到高把学习分为基础学习、分析学习和主题学习
基础学习,就是从知识点最基本的理论开始学习;
分析学习,就是对知识的结构脉络做梳理,并带着问题去学习;
主题学习,就是对同一个知识点,分别找到不同的资料来学习。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《OAuth 2.0实战课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥9.9
立即订阅
登录 后留言

精选留言(14)

  • Geek_883762
    当老师说再见的时候,我哭了。

    作者回复: 我被感动到了,我会尽最大努力回复好每一位同学的留言。

    2020-08-04
    1
  • carol
    马上买了一本《程序员思维修炼》,哈哈

    作者回复: 哈哈 一起变得更加优秀

    2020-08-04
    1
    1
  • zeroki
    “鉴权”是建议在开放平台的网关做呢,还是授权服务做呢?

    作者回复: 放在网关来做,读取授权服务的接口或者是直接操作授权服务的数据存储。

    2020-08-07
  • Tim Zhang
    老师 不是很理解你回答的刷新逻辑在授权服务。
    前提 我的oauth服务是我自己写的,并非第三方服务。
    我一个请求首先访问了网关,网关进行了鉴权,然后请求打到了后面api,但是actoken过期了,需要拿着refreshtoken去刷新actoken,难道不是受保护资源自己去调用我的oauth服务拿actoken么?这个逻辑如果每个受保护资源自己做,那是不是每个受保护资源都需要引入这个sdk呢?

    作者回复: 刷新逻辑在授权服务,意思是授权服务来接收刷新令牌负责生成新的访问令牌。

    既然有了网关这一层,网关在进行鉴权的时候只会去验证令牌,如果令牌过期肯定会拒绝访问,也不会把token继续往下传的。

    2020-08-07
  • AgCl
    老师,看到留言,我有点疑惑,我们这边正想用oauth2的实现,如果网关做了验证和粗粒度的授权
    但是资源服务器可能有更细粒度的权限管理,如果用的是spring security 的框架,资源服务器获取到用户id, 然后我们自己初始化好securitycontextHolder的内容;这样的话是不是我们直接网关就做转发,资源服务器自己去做token的验证以及权限验证,谢谢老师

    作者回复: 如果是网关下面只有一个资源服务系统,这里的网关可能就是为了做非业务相关的比如限流、黑白名单等等,这种情况下可以再资源服务系统来做。但是如果网关下面有很多个资源服务系统,建议还是”切一下“在网关来做。

    更细粒度的权限如果也都是跟access_token相关的,在网关去做验证肯定也没有问题,除非是那些其它维度跟令牌无关的权限控制,那么可以下放到资源服务系统来。

    2020-08-07
  • Tim Zhang
    请问下假设2个服务 a和b,首先调用a的/a,然后a会调用b的/b,在网关层只能针对/a进行权限校验,/a执行完毕后调用/b,这个时候已经不会访问到网关了,请问权限校验是否只能在/b的应用上通过横切逻辑类似filter进行校验过滤

    作者回复: a和b相当于两个微服务了吧,a是用户请求流程上首先被访问到的一个服务,在这之上的权限校验已经被网关做了。当a去访问b的时候,一般情况下没有再涉及到用户的权限校验了。越往下越是基础的服务。但这里有可能会存在系统之间的权限访问,也就是说b是否允许a来调用,一般微服务之间都是需要做这样的系统校验的。

    如果

    2020-08-06
  • Tim Zhang
    请问下既然网关层scope与api进行鉴权了,那么访问都后端api的时候,是否还要通过rbac进行hasRole hasAuthority进行每个api验证
    2020-08-06
  • Tim Zhang
    老师,还有疑问,求解答
    1、scope与api的映射表,缓存在网关,网关进行鉴权。那么如果粒度很细,一个api(url路径+ http方法)就需要对应一个scope,那么可能有成千上万个api,都需要在表里面定义么
    2、网关已经校验过了scope,并且通过,请求调用到了受保护资源的某个api,还需要针对于这个api进行比如 @Precheck(hasRole('admin')) 或者 @Precheck(hasAuthority('xxx')) 的鉴权么,因为据我了解网关可能针对于粗粒度的api 比如/A/** 实际上访问的/A/aa还有更细粒度的比如rbac中的权限鉴定,所以其实不仅网关一层对于scope进行鉴权,访问到某个特定api还需要通过rbac进行鉴权,是这样么
    3、如果刷新token,重定向等针对于oauth2的逻辑实现在网关,后续api假设有2个 a和b, 网关首先调用了a,a计算完成还需要调用b,这个时候假设accessToken过期了,但是刷新token逻辑在网关,a调用b不经过网关了,那么这些刷新逻辑是否还需要在b的filter切面层进行拦截处理

    作者回复: 1、这个数量参照要按照accesstoken的角度来讲,每一个accesstoken对应一个scope,如果按照上面所述的,就是一对一对多的关系,这些数据都存储在redis中。
    2、在网关做了OAuth的鉴权也包括scope的校验,受保护资源不需要在做类似的验证,但是越权访问,也就是之前我们讲到的数据归属判断,是一定要在受保护资源内部逻辑中去做的。
    3、刷新token的逻辑在授权服务系统中实现,不在网关层。

    2020-08-06
  • Tim Zhang
    请教一下 refreshtoke的刷新以及一些重定向可以全部交给spring security,但是这部分逻辑应该实现在网关 还是每个受保护资源都需要实现一下

    作者回复: 如果有多个受保护资源,在做“鉴权”的时候,可以统一放在网关内部实现。

    支持refreshtoken的逻辑是在授权服务上面进行的,如果使用了security,则是在框架内职责模块上实现。

    2020-08-05
  • 在路上
    感谢老师的精彩讲解,现在每次授权登录时,都想到老师讲些的后台流程。

    作者回复: 多谢 ^_^

    2020-08-04
  • tt
    感谢老师,收获满满,对OAuth2.0的理解更扎实了

    作者回复: 感谢支持

    2020-08-04
  • Alex
    感谢老师,跟着重新梳理了一遍OAuth2.0的知识体系。学习要坚持,复利的效果十分惊人。

    作者回复: 感谢支持,一起进步

    2020-08-04
  • Adong0678
    当把具象的事物能用自己简短语言总结概括出来,说明真正理解,掌握了。具体的事物会被更迭,但思想永远闪闪发光!传授知识者,都应尊称老师,十分感谢王老师!

    作者回复: 感谢支持,抽象是看清了事物的本质,大家一起进步

    2020-08-04
  • inrtyx
    难说再见,谢谢老师

    作者回复: 我会一直在的 ^_^

    2020-08-04
收起评论
14
返回
顶部