OAuth 2.0 实战课
王新栋
京东资深架构师
16397 人已学习
新⼈⾸单¥29
登录后,你可以任选2讲全文学习
课程目录
已完结/共 17 讲
开篇词 (1讲)
OAuth 2.0 实战课
15
15
1.0x
00:00/00:00
登录|注册

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

你好,我是王新栋。
在咱们这门课中,我提到了很多次“开放平台”,不难理解,它的作用就是企业把自己的业务能力主要以开放 API 的形式,赋能给外部开发者。而作为第三方开发者或者 ISV(独立软件供应商)在接入这些开放平台的时候,我们最应该关心的就是它们的官方文档,关注接入的流程是怎样的、对应的 API 是什么、每个 API 都传递哪些参数,也就差不多够了。
到这里,你会发现“开放平台的官方文档”会是一个关键点。不过呢,当你去各大开放平台上面看这些文档的时候,就会发现这些文档非常分散。
其中的原因也很简单,那就是开放平台为了让已经具备 OAuth 2.0 知识的研发人员去快速地对接平台上面的业务,把各类对接流程做了分类归档。比如,你会发现微信开放平台上有使用授权码获取授权信息的文档,也有获取令牌的文档,但并没有一份整体的、能够串起来的文档说明。从我的角度来看,这其实也就间接提高了使用门槛,因为如果你不懂 OAuth 2.0,基本是没办法理解那些分类的。
那么,今天我就借着这个点,和你说说以京东、微信、支付宝、美团为代表的各大开放平台是如何使用 OAuth 2.0 的。理解了这个问题,你以后再对接一个开放平台、再阅读一份官方对接文档时,就更能明白它们的底层逻辑了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

各大开放平台如何使用OAuth 2.0?本文深入探讨了京东、微信、支付宝、美团等开放平台的OAuth 2.0使用方式。首先,文章概述了开放平台的体系结构,包括第三方软件、开放平台、京东内部微服务的交互流程。其次,重点讨论了访问令牌的安全性问题,以及解决方案。最后,通过授权流程图展示了各大开放平台如何使用OAuth 2.0进行授权。文章深入浅出地解释了OAuth 2.0的核心作用,以及开放平台的授权流程,对于开发者理解开放平台的底层逻辑和对接操作具有指导意义。文章还提到了在对接开放平台的通信流程中需要传递的参数,以及对接开放平台的通信流程中需要传递的参数。同时,强调了API网关层的重要性,以及授权码许可流程的推荐使用。整体而言,本文为读者提供了深入了解开放平台OAuth 2.0使用方式的重要参考资料。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《OAuth 2.0 实战课》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(24)

  • 最新
  • 精选
  • 访问令牌 access_token 的有效性在API GATEWAY 层 已经验证过了,所以不需要向受保护资源服务传递, 只需要把 token 的有效用户信息提取出来向后传递就可以了

    作者回复: 是的,可以这样做。

    2020-07-30
    2
    16
  • 她的男孩
    受保护的资源服务部做任何的安全相关的设计吗?

    作者回复: 如果前面有网关这一层,受保护资源服务,可以不用过多关注安全相关的内容,当然要做好水平越权的防护。

    2020-08-08
    5
  • Hurt
    老师 接入支付和OAuth2.0有什么异同呢

    作者回复: 是两个不同维度的事情,OAuth是授权。接入支付,比如APP接入微信支付后,商家通过微信提供的SDK调用微信支付模块完成收款需求。这里面相同的地方在于都需要提前注册好应用的标识APPID,并被分配一个秘钥,还有回调这样的流程在里面,比如支付结果回调告知,OAuth里面也有回调。

    2020-08-14
    2
  • 霹雳大仙pp
    jwt或者显式传递用户数据

    作者回复: 可以显式传递用户数据。

    2020-07-28
    1
  • AgCl
    正惆怅这一层该如何弄,看上一篇介绍用JWT的,这一层信息敏感度应该会弱一些,之前还想这一层直接传用户ID下去就好了,还望老师解答,谢谢

    作者回复: API GATEWAY 和 其它微服务系统之间,属于内部通讯,可以直接传递数据,在APIGATE WAY这一层,把ACCESS_TOKEN对应的用户属性【兑换】出来,传递下去。

    2020-07-28
    4
  • 胖大蟲
    关于redirect_uri我不太明白,既然在注册的时候已经填了,为什么请求授权码时还要再传一遍这个参数?
    2020-09-27
    2
    6
  • 林绵程
    老师, 用户第一次第三方授权后如果access_token不给到客户端,客户端下次登录的时候拿什么凭证来跟小兔授权?是实现登录的过程中小兔需要跟自己的客户端去有个凭证交互的过程么?
    2021-02-10
    2
  • 李伟
    想咨询一下,关于开发者的权限这块如何设计,通过scope如何与系统的真实权限结合起来呢?
    2021-10-08
    1
  • 醇氧
    老师你好,除了spring Security 自己的4个模式。那我们自己定义一个模式,也是可以的吧,我自己写这个定义的模式会影响到其他的模式不可用。 比如会 org.springframework.security.authentication.ProviderNotFoundException: No AuthenticationProvider found for org.springframework.security.authentication.UsernamePasswordAuthenticationToken 这样的异常。有相关学习的案例吗,我们学习一下。谢谢老师
    2021-08-24
    1
  • Alex
    看内部安全要求,不考虑内部攻击的话可以直接用户标识。如果考虑内部安全就在网关转成jwt降低认证服务压力
    2020-07-28
    1
收起评论
显示
设置
留言
24
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部