你确定懂OAuth 2.0的三方软件和受保护资源服务?(下)

简介: 你确定懂OAuth 2.0的三方软件和受保护资源服务?

1.2 服务市场

  • 什么是服务市场?
  • image.png三方开发者开发的软件,都发布到这样一个“市场”里售卖。

2 构建受保护资源服务

受保护资源最终指向 API,比如排版软件中的受保护资源就是文章查询 API、批量查询 API 等及公众号头像、昵称的 API。

在互联网上的系统之间的通信,基本都是以 Web API 为载体的形式进行。授权服务最终保护的就是这些 API。在构建受保护资源服务时,除检查令牌的合法性,更关键是权限范围。校验权限的占比大。肯定要看该令牌到底能操作哪些、能访问那些数据。

2.1 不同权限对应不同操作

操作对应 API,比如公众号平台提供有查询、新增、删除文章 API。若xx请求过来的一个访问令牌 access_token 的 scope 权限范围只对应查询、新增 API,那包含该 access_token 值的请求,无法执行删除文章 API。

2.2 不同权限对应不同数据

数据,指某 API 里包含的字段信息。比如,有一个查询我的信息的API,返回值包括 Contact(email、phone、qq)、Like(Basketball、Swimming)、Personal Data(sex、age、nickname)。若xx请求过来的一个访问令牌 access_token 的 scope 权限范围只对应 Personal Data,那么包含该 access_token 值的请求就不能获取到 Contact 和 Like 的信息。


这种权限范围的粒度要比“不同的权限对应不同的操作”的粒度要小,遵循最小权限范围原则。

2.3 不同用户对应不同数据

这种权限实际上只是换了一种维度,将其定位到用户。

一些基础类信息,比如获取地理位置、天气预报,不带用户归属属性,即这些并不归属某用户,是公有信息。这样信息,平台提供出去的 API 接口都是“中性”的,没有用户属性。

但更多场景却是基于用户属性。用户每次推送文章,xx都要知道文章是哪个用户的。用户为xx授权,xx获取的 access_token 实际上就包含公众号用户的这个用户属性。

公众号开放平台的受保护资源服务每次接收到xx的请求,都会根据该请求中

access_token 的值找到对应的用户 ID,继而根据用户 ID 查询到该用户的文章,即不同用户对应不同文章数据。

3 微服务架构下 API GATEWAY 的意义

现在已是分布式系统,若有很多受保护资源服务,比如提供用户信息查询的用户资源服务、提供文章查询的文章资源服务、提供视频查询的视频资源服务,那每个受保护资源服务岂不是都要把上述权限范围校验执行一遍,不就有大量重复?

为解决这问题,应有统一网关层处理校验,所有请求都会经过 跳转到不同受保护资源服务。如此无需在每个受保护资源服务上都做权限校验,只在 API GATEWAY 做即可。


参考

  • 如何安全、快速地接入OAuth 2.0
目录
相关文章
|
3月前
|
监控 供应链 数据可视化
抖音电商API直播数据大屏,实时优化带货策略!
在直播电商快速发展的当下,抖音已成为商家带货的重要平台。本文介绍如何利用抖音电商API构建直播数据大屏,实现观众数、订单量、销售额等关键指标的实时监控,帮助商家快速优化带货策略,提升转化率与销售业绩。内容涵盖API接入流程、大屏构建步骤及策略优化方法,助力商家在直播中抢占先机。
665 0
|
存储 缓存 算法
缓存淘汰策略:LRU 的设计与实现
缓存淘汰策略:LRU 的设计与实现
495 0
|
11月前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
12月前
|
消息中间件 监控 安全
构建高效微服务架构:最佳实践与挑战
在现代软件开发中,微服务架构因其高度的可扩展性、灵活性和敏捷性而受到青睐。本文深入探讨了构建高效微服务架构的关键策略,包括服务的划分、通信机制、数据管理、部署与监控等方面的最佳实践。同时,文章也分析了在实施过程中可能遇到的挑战,如服务间的依赖管理、数据一致性问题、安全考量及性能优化等,并提出了相应的解决方案。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们在构建微服务系统时能够有效规避风险,提升系统的健壮性和用户体验。
|
安全 网络协议 Java
Java反序列化漏洞与URLDNS利用链分析
Java反序列化漏洞与URLDNS利用链分析
338 4
【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度
【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度
404 4
|
机器学习/深度学习 自然语言处理 算法
分词算法在自然语言处理中的应用与性能比较
分词算法在自然语言处理中的应用与性能比较
|
弹性计算 缓存 运维
阿里云服务器2核4G配置最新收费标准与活动价格和购买流程参考
2024年阿里云服务器2核4G配置降价,按量计费最低0.225元/小时,月付68.0元起,年付165元起。价格下调20%,部分实例降价93%。详细价格表包括多种实例规格,如通用算力型、计算型等,活动价格从165元到244.62元不等。下面是小编为大家整理汇总的阿里云服务器2核4G配置2024年最新收费标准与活动价格。
阿里云服务器2核4G配置最新收费标准与活动价格和购买流程参考
|
Linux 网络安全
NAT 技术与 Linux iptables
NAT 技术与 Linux iptables
419 0
|
机器学习/深度学习 人工智能 Cloud Native
软件开发的最新趋势和未来发展方向
软件开发领域的最新趋势和未来发展方向将为我们带来更多的创新和变革。无论是云原生、人工智能还是自动化,都将影响着我们构建应用的方式。通过代码示例,我们也可以看到如何应用新技术来实现跨平台开发。让我们期待着软件开发领域未来更加精彩的发展!
1220 1