当前播放: 04 | OAuth2 的正式定义
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一模块 :微服务安全架构与实践 (24讲)
01 | 第一模块课程介绍
免费
02 | 微服务安全要解决什么问题
免费
03 | 白话 OAuth2
免费
04 | OAuth2 的正式定义
免费
05 | OAuth2 有哪些典型模式
免费
06 | OAuth2 模式该如何选型
07 | Spring Security OAuth2 架构简介
08 |【实验】授权码模式授权服务器
09 |【实验】简化模式授权服务器
10 |【实验】密码模式授权服务器
11 |【实验】客户端模式授权服务器
12 | 实验一扩展环节
13 |【实验】Web 应用接入授权服务器
14 | 实验二扩展环节
15 | 什么是 JWT 令牌
16 |【实验】授权服务器支持 JWT 令牌
17 | 实验三扩展环节
18 |【实验】Android 无线应用接入授权服务器
19 |【实验】AngularJS 单页应用实验和课后扩展
20 |【实验】GitHub社交登录实验和课后扩展
21 | 【实验】OAuth2安全风险CSRF实验
22 | OpenId Connect简介
23 | 下一代微服务安全架构
24 | 参考资源和后续课程预览
第二模块 :微服务配置中心Apollo架构和实践 (24讲)
25 | Apollo作者的产品介绍
免费
26 | 第二模块课程介绍
免费
27 | 课程概述
免费
28 | 业务需求
免费
29 | 配置定义和场景
免费
30 | 开关驱动开发原理
31 | 携程 Apollo 配置中心介绍
32 | Apollo核心概念
33 | Apollo快速起步(Lab01)
34 | Apollo快速起步扩展实验
35 | Apollo架构设计之服务器端
36 | Apollo架构设计之客户端
37 | Apollo架构设计之高可用和监控
38 | Apollo分布式部署指南
39 | Apollo Java客户端和多语言接入
40 | Apollo Client API实操(Lab02)
41 | Apollo Client和Spring集成~XML方式(Lab03)
42 | Apollo Client和Spring集成~代码方式(Lab04)
43 | Apollo Client和Spring Boot集成(Lab05)
44 | Apollo开放平台接入实操(Lab06)
45 | Spring Cloud Config简介
46 | Apollo vs Spring Cloud Config
47 | Apollo FAQ和开发常见问题
48 | 参考资源和后续课程预览
第三模块 :微服务网关Zuul架构和实践 (17讲)
49 | 第三模块课程介绍
免费
50 | Zuul网关和基本应用场景
免费
51 | Zuul网关高级应用场景
免费
52 | Zuul网关架构剖析
53 | Zuul网关代码剖析(Code Review)
54 | Zuul网关过滤器管理工具(Code Review)
55 | 前置过滤器实验(Lab01)
56 | 路由过滤器实验(Lab02)
57 | 后置过滤器实验(Lab03)
58 | Zuul网关对接Apollo(Lab04)
59 | Zuul网关生产部署实践
60 | Zuul网关路由管理实践
61 | 基于网关的两层路由体系
62 | Spring Cloud Zuul(Lab05)
63 | Zuul2.0简介
64 | Zuul网关生产最佳实践
65 | 参考资源和后续课程预览
第四模块 :微服务调用链监控CAT架构和实践 (19讲)
66 | 第四模块课程介绍
免费
67 | 调用链监控业务需求
免费
68 | 调用链监控原理
免费
69 | 调用链监控产品和比较
70 | 点评 CAT 背景介绍
71 | CAT 典型报表
72 | CAT 告警简介
73 | CAT 架构设计
74 |【实验】CAT 本地部署
75 | CAT 埋点案例和代码剖析(Code Review)
76 |【实验】CAT 埋点案例
77 | Zuul 网关集成 CAT 代码剖析(Code Review)
78 |【实验】Zuul 网关集成 CAT
79 | CAT 生产埋点实践
80 | CAT 生产部署实践
81 | CAT 生产治理实践
82 | Spring Cloud Sleuth 简介
83 |【实验】Spring Cloud Sleuth
84 | 参考资源和后续课程预览
第五模块 :微服务容错限流Hystrix架构和实践 (17讲)
85 | 第五模块课程介绍
免费
86 | 容错限流需求
免费
87 | 容错限流原理
免费
88 | Netflix Hystrix 背景介绍
89 | Hystrix 设计原理
90 | Hystrix 主要概念
91 | 信号量 vs 线程池隔离
92 | Hystrix 主要配置项
93 |【实验】Hystrix 基础实验
94 | Hystrix 模拟案例分析 (Code Review)
95 |【实验】Hystrix + Dashboard 实验(上)
96 |【实验】Hystrix + Dashboard 实验(下)
97 | 网关集成 Hystrix (Code Review)
98 |【实验】Spring Cloud Hystrix 实验
99 | Netflix Turbine 简介
100 | Hystrix 生产最佳实践
101 | 参考资源和后续课程预览
第六模块 :微服务注册发现Eureka Ribbon架构和实践 (16讲)
102 | 第六模块课程介绍
103 | 服务发现需求和模式(上)
104 | 服务发现需求和模式(下)
105 | Netflix Eureka 和 Ribbon 背景介绍
106 | Eureka 和 Ribbon 架构设计原理
107 |【实验】Spring Cloud Eureka 和 Ribbon 基础实战
108 |【实验】Spring Cloud Eureka 和 Ribbon 高级实验
109 | Spring Cloud Eureka 和 Ribbon 主要配置项
110 | Eureka进阶:自保护模式
111 | Eureka进阶:健康检查和蓝绿部署
112 |【实验】Spring Cloud Zuul、Eureka 和 Ribbon 集成实验(上)
113 |【实验】Spring Cloud Zuul、Eureka 和 Ribbon 集成实验(下)
114 | 常用服务发现组件比较
115 | ServiceMesh 和 Istio 简介
116 | 基于 Eureka、Zuul 和容器云的持续交付架构
117 | 参考资源和后续课程预览
第七模块 :微服务监控告警Prometheus架构和实践 (21讲)
118 | 第七模块课程介绍
119 | 监控模式分类
120 | BusDevOps 和测量驱动开发 MDD
121 | Prometheus 简介
122 | Prometheus 架构设计
123 | Prometheus 基本概念
124 |【实验】Prometheus 起步查询实验(上)
125 |【实验】Prometheus起步查询实验(中)
126 |【实验】Prometheus起步查询实验(下)
127 |【实验】Prometheus + Grafana 展示实验(上)
128 |【实验】Prometheus + Grafana 展示实验(下)
129 |【实验】Prometheus + Alertmanager 告警实验(上)
130 |【实验】Prometheus + Alertmanager 告警实验(下)
131 |【实验】Java 应用埋点和监控实验
132 |【实验】NodeExporter 系统监控实验
133 |【实验】Spring Boot Actuator 监控实验
134 | Prometheus 监控最佳实践
135 | 主流开源时序数据库比较
136 | 开源分布式监控平台 ZMon 简介
137 | 微服务监控体系总结
138 | 参考资源和后续课程预览
第八模块 : 构建OAuth2服务器 - Golang语言实现 (17讲)
139 | 课程概述和背景
140 | 架构和设计
141 | 开发环境搭建
142 | 基础代码(code review)
143 | 数据访问模块(code review)
144 | OAuth2服务模块(code review)
145 | Web服务模块(code review)
146 | 启动流程(code review)
147 | 起步准备实验(lab02)
148 | OAuth2授权码模式实验(lab03)
149 | OAuth2简化模式实验(lab04)
150 | OAuth2用户名密码模式实验(lab05)
151 | OAuth2客户端模式实验(lab06)
152 | OAuth2令牌校验实验(lab07)
153 | OAuth2令牌刷新实验(lab08)
154 | 项目复盘和扩展环节
155 | 参考资源和后续课程预览
第九模块:微服务架构综合案例分析 (16讲)
156 | 课程概述和背景
157 | 需求和架构设计
158 | 开发环境搭建(lab01)(上)
159 | 开发环境搭建(lab01)(下)
160 | 项目业务代码(Code Review)
161 | Apollo配置中心集成(lab02)
162 | Zuul-Eureka-Ribbon-Hystrix集成(Code Review)
163 | Gravitee OAuth2集成(lab03)
164 | Zuul网关集中令牌校验(Code Review)
165 | CAT调用链集成(lab04)(上)
166 | CAT调用链集成(lab04)(下)
167 | Demo展示(lab05)(上)
168 | Demo展示(lab05)(下)
169 | Prometheus监控集成(Code Review)
170 | 生产扩展环节
171 | 课程复盘总结
04 | OAuth2 的正式定义

04 | OAuth2 的正式定义

杨波
拍拍贷研发总监、资深架构师、微服务技术专家
171讲 171课时·约2000分钟10069
单独订阅¥299
2人成团¥199
41
本节摘要
登录 后留言

精选留言(11)

  • DK
    如果拿到token之后,岂不是对于任何服务的访问就没有限制了,利用该token攻击别人的数据怎么处理呢

    作者回复: 不是,资源服务器会对token进行权限校验(也可在微服务网关上集中做),简单讲,资源服务器可以按需增加细粒度权限控制~这个token对应的用户是什么角色,有什么权限,能做什么操作,资源服务器有更多决策权,而且不同资源服务器可有不用策略。当然token是有被盗用风险,有一些安全措施防止被盗,发现被盗可以吊销,另外可根据场景缩短token有效期。

    2018-05-08
    16
  • 我是Helen💋
    欲罢不能,高手就是能把复杂的问题用最通俗的表达展现出来。视频课程中我觉得最好的,没有之一。波波老师已成我的偶像啦。

    作者回复: 谢谢支持🌹

    2018-05-08
    12
  • 立地成佛
    token分类这页有问题吧,分类维度都各不相同,怎么就分了五类?

    作者回复: 恩,你看得很细,这个严格不能算按某个维度分的类型,是常见token称谓的解释,谢谢反馈🌹

    2018-07-08
    6
  • 加勒比海贼王
    Access Token和 Bearer Token有什么区别呢?

    作者回复: Bearer Token是Access Token的一种格式,这种格式一般是随机字符串无特殊意义,也就是不能从Bearer Token的字面推断出这个Token是谁颁发给谁的,像现钞一样谁拿到了都可以去消费使用;还有一种叫Proof of Possession(PoP) Token,这种Token里头包含所有者信息,可以校验拥有者,别人不能随便用。

    2018-05-12
    4
  • 码农Kevin亮
    老师一直强调OAuth是授权协议不是认证协议。究竟如何理解授权与认证两个概念呢?

    作者回复: 这个问题很容易混淆,oauth2的是一种代理授权协议,它只是定义令牌颁发的几种流程,具体你是怎么认证的,它其实没有定义,当然授权之前一般都有认证过程,只是它的规范没有定义。

    参考rfc 6749的3.1节(最后一句是重点):
    https://tools.ietf.org/html/rfc6749#section-3.1

    The authorization endpoint is used to interact with the resource owner and obtain an authorization grant. The authorization server MUST first verify the identity of the resource owner. The way in which the authorization server authenticates the resource owner (e.g., username and password login, session cookies) is beyond the scope of this specification.

    进一步可以参考stackoverflow上的说明,解释很清楚:
    https://stackoverflow.com/questions/33702826/oauth-authorization-vs-authentication

    2019-12-13
  • 许凯
    想请问老师,有对资源进行细粒度的权限控制方案吗?

    作者回复: 细粒度权限控制一般都是需要定制的,在微服务场景下,常见做法使用jwt令牌,里头可个包含用户角色和组等信息,这样可以在网关层做初步的权限控制,后台服务层还可以根据用户角色/组等信息做进一步权限控制。后面我会开发一个案例项目,展示如何实现细粒度的微服务权限控制,请关注github.com/spring2go上面的项目。

    2019-07-27
    1
  • 张永峰
    (5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。

    yuanyifeng的blog里面的认证服务器,应该是授权服务器才更准确吧,严谨来讲的话,认证和授权(Authentication & Authorization)是不同的概念。

    作者回复: 严格按OAuth2协议规范讲是授权服务器,但是实际不需要太纠结,因为一般授权服务器也支持用户认证。

    2019-02-18
  • 约书亚
    老师,现在讲微服务的地方一定一提到oauth2,我实在弄不懂这俩之间到底算不算有必然的联系?
    比如我们的系统实践的微服务,有多个种类的“客户端角色”(有的是硬件设备),其中一部分并没有“用户”这一概念,也就不存在oauth2中那种典型的三角关系。
    就比如专门提供给硬件设备的服务,通过某些认证功能,服务端也发放了令牌(access token)给硬件设备,之后硬件设备可以持有这些令牌去和服务端其他api交互(上传数据,获取信息)。
    此种情况种种,有的存在refresh token,有的仅有access token。
    这算不算是oauth2呢?

    作者回复: OAuth2主要的模式有四种,其中一种是机器直接参与(没有人参与的),称为客户端模式(Client Credentials Grant) ,你讲的应该属于这种。课程后面有讲解,也可以进一步参考RFC6749,或者阮一峰的文章《理解OAuth2》http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

    2019-01-27
  • 你在门外笑
    oauth2 应该可以使用https吧?

    作者回复: oauth2安全敏感场景下要求使用https

    2018-12-02
  • 在路上
    第三方应用携带token到资源服务器访问资源,资源服务器怎么知道这个token是否合法,需要到授权服务器请求验证吗?资源服务器和授权服务器一般属于一方开发的吗?

    作者回复: 资源服务器可以去授权服务器校验(透明令牌bearer token场景),也可以网关集中校验,也可自校验(自包含令牌jwt token场景)。授权服务器和资源服务器上的校验功能(如filter)一般由一个团队(比如框架)集中开发维护,资源服务器本身一般由各业务团队独立开发。

    2018-09-26
  • 蜗牛
    验证通过后进行授权,并将授权信息写入token里面。授权服务器只是授权,不进行验证,是这样吗?老师!我是小白,多多包涵

    作者回复: 授权服务器主要管授权,它一般集成有用户登录认证(user identity)模块,用户登录同意授权第三方应用可以访问自己在资源服务器上的资源。

    2018-09-14
收起评论
看过的人还看
左耳听风

陈皓  网名“左耳朵耗子”,资深技术专家,骨灰级程序员

108讲 | 40807 人已学习

拼团 ¥199 原价 ¥299
微服务架构核心20讲

杨波  拍拍贷框架研发部总监,资深架构师,微服务技术专家

20讲 | 14084 人已学习

¥39
从0开始学架构

李运华  资深技术专家

59讲 | 39235 人已学习

¥99
Java核心技术面试精讲

杨晓峰  前Oracle首席工程师

43讲 | 43543 人已学习

拼团 ¥79 原价 ¥99