OAuth 2.0实战课 / 一站攻克开放授权重难点

王新栋
京东资深架构师
  • 课程目录
  • 课程介绍
  • 开篇词 | 为什么要学OAuth 2.0?

    当我开始整理OAuth 2.0的相关技术、实践时,才发现它是讲授权没错,但要用对、用好绝不是看两篇文章那么简单。

  • 01 | OAuth 2.0是要通过什么方式解决什么问题?

    今天的知识点不多,我来回给你举例子,就是希望你能理解OAuth到底是什么,为什么需要它,以及它大概的运行逻辑是怎样的。

  • 02 | 授权码许可类型中,为什么一定要有授权码?

    今天,我从为什么需要授权码这个问题开始讲起,并通过授权码把授权码许可流程整体的通信过程串了一遍。

  • 03 | 授权服务:授权码和访问令牌的颁发流程是怎样的?

    今天,我们一起学习授权码许可类型下授权服务的工作原理。授权服务,可以说是OAuth 2.0中最复杂的 “灵魂” 组件。

  • 04 | 在OAuth 2.0中,如何使用JWT结构化令牌?

    今天这一讲,我会和你详细讲讲,JWT是什么、原理是怎样的、优势是什么,以及怎么使用,同时我还会讲到令牌生命周期的问题。

  • 05 | 如何安全、快速地接入OAuth 2.0?

    今天,我从第三方软件和受保护资源的角度,分别介绍了这两部分系统在接入OAuth 2.0的时候应该注意哪些方面。

  • 06 | 除了授权码许可类型,OAuth 2.0还支持什么授权流程?

    今天我们一起学习OAuth 2.0中授权码许可类型外的其他3种许可类型:资源拥有者凭据许可、客户端凭据许可、隐式许可。

  • 07 | 如何在移动App中使用OAuth 2.0?

    今天这一讲,我会重点和你讲两块内容,没有Server端的App和有Server端的App分别是如何使用授权码许可类型的。

  • 08 | 实践OAuth 2.0时,使用不当可能会导致哪些安全漏洞?

    实践OAuth 2.0时,安全问题一定是重中之重。今天,我们看下CSRF、XSS、水平越权、授权码失窃等5个安全问题。

  • 09 | 实战:利用OAuth 2.0实现一个OpenID Connect用户身份认证协议

    今天,我们就来学习下OIDC和OAuth 2.0的关系,以及如何用OAuth 2.0来实现一个OIDC用户身份认证协议。

  • 10 | 串讲:OAuth 2.0的工作流程与安全问题

    今天,我不打算带你去解决什么新问题,而是把我们已经讲过的内容再串一遍,来 “回味”下 OAuth 2.0的整个知识体系。

  • 11 | 实战案例:使用Spring Security搭建一套基于JWT的OAuth 2.0架构

    今天,我会带你使用Spring Security来一步一步地搭建一套基于JWT的OAuth 2.0授权体系。

  • 12 | 架构案例:基于OAuth 2.0/JWT的微服务参考架构

    今天,我特别邀请了我的朋友杨波老师,来和你分享一个基于OAuth 2.0/JWT的微服务参考架构。

  • 13 | 各大开放平台是如何使用OAuth 2.0的?

    今天,我们一起学习下,以京东、微信、支付宝、美团为代表的各大开放平台是如何使用OAuth 2.0的。

  • 14 | 查漏补缺:OAuth 2.0 常见问题答疑

    我来统一回答下OAuth 2.0的6个共性问题,包括ID令牌和访问令牌的关系、OAuth 2.0和身份认证协议的关系等。

  • 期末测试 | 一套习题,测试你的掌握程度

    咱们课程的核心内容都已经更新完毕了,我给你准备了一份期末测试题,希望可以帮你进行自检。我们结束语见!

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

    到这里,我们相伴而行的时光也就接近尾声了接下来,我们要回归各自的赛道了。在此之前,我很想很想跟你说一句“敬佩”。

【仅限 100 个名额 | 立省 ¥23】

拼团+口令「maimaimai」到手仅 ¥45,立省 ¥23,仅限 100 个名额

你将获得

  • 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上提供了一套用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的微服务参考架构案例。

课程目录

特别放送

订阅须知