You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
5.3 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# OAuth 2.0实战课
## 你将获得
* 4 大授权许可类型原理详解
* 安全快速接入 OAuth 2.0 的方法
* 实现一个 OIDC 用户身份认证协议
* 基于 OAuth 2.0/JWT 的微服务架构参考
## 讲师介绍
王新栋,京东资深架构师,拥有十多年的互联网研发、架构经验,在开放网关和开放授权上有丰富的实战经历。
作为首席架构师,他和团队一起构建的商家开放平台架构,成功经历了 6 次“618” 和“11.11”大促流量洪峰和复杂环境的考验。其中OAuth 2.0 授权应用架构,还成功支持了喜马拉雅、酷狗音乐、腾讯视频和京东 PLUS 的联合会员业务。
## 课程介绍
近几年越来越多的Web网站、移动App都在支持使用微信、微博等账号登录的方案来避免繁琐的注册流程。比如说你第一次使用极客时间就可以选择使用微信账号来登录。
这其实就是,你(用户)在**授权**极客时间(第三方软件)**代表**你使用在微信平台授权服务的个人信息受保护资源来登录。这背后用到的知识就是OAuth 2.0。
从2011年发布OAuth 2.0草案到现在OAuth 2.0已经不再是一门新技术了网上也已经有很多关于OAuth的资料了。但是这并不意味着OAuth 2.0的学习很简单,只要找几篇文章看看就“万事大吉”了。
你在学习、实践OAuth 2.0的过程中,是不是也被下面这些问题困扰着:
* 在授权码许可类型中,为什么一定要有授权码?为什么要有两次重定向?
* 在Web应用中到底应该怎么使用授权码流程移动App中还能使用授权码流程吗
* 在开发应用时,如何解决授权码被拦截的安全问题?
为此我们特意邀请了王新栋他会结合自己在开放平台上的工作经验以及对OAuth 2.0的理解一次性地给你说透授权这件事儿力求给你带来最贴近本质的OAuth 2.0知识,让你能够用对、用好这个协议。
### 学习这门课程需要什么基础?
只要你有一定的工作经验能够理解基本的Web通信协议就能理解这门课程的内容。
这门课程在[GitHub](https://github.com/xindongbook/oauth2-code)上提供了一套用Java语言来实现的简单、可落地的代码代码中除了基本的Servlet技术外没有引入任何其它的第三方内容所以你只要能够理解Request和Response就没问题。
### 课程模块设计
本课程分为两大模块。
**第一部分是基础篇是你必须要掌握的OAuth 2.0的基础知识:**用一个小明使用第三方“小兔打单软件”来打印自己在京东店铺的订单数据的例子,来细致讲解授权码许可类型的流程,以及资源拥有者凭据许可、隐式许可、客户端凭据许可的原理,以及如何选择适合自己实际场景的授权类型。
学完这个模块的内容以后你就可以从容地把OAuth 2.0用到实际的工作场景了。
**第二部分进阶篇的内容侧重讲解OAuth 2.0 “更高级” 的一些用法**让你知道如何更安全地用、扩展地用OAuth 2.0。
这部分内容会包括如何在移动App中使用OAuth 2.0因使用不当而导致的OAuth 2.0安全漏洞有哪些以及如何利用OAuth 2.0实现一个OpenID Connect用户身份认证协议。此外我们还邀请了微服务技术领域的专家杨波老师分享了一个基于OAuth 2.0/JWT的微服务参考架构案例。
## 课程目录
![](https://static001.geekbang.org/resource/image/11/93/113e738f7aa99e03dc95f4556c2f5c93.jpg)
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/3b/f4/3bdf677ae6490acb5f2899985e9337f4.jpg?wh=1029x315)](https://time.geekbang.org/article/455497)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。