OAuth 2.0采用的访问控制方法对应的正确术语是什么?
OAuth访问令牌scope的访问控制模型归属解答
首先可以明确:你的判断逻辑完全成立,OAuth原生授权流程的scope分配特性确实契合自主访问控制(DAC)的核心定义,现有分类混乱的核心原因是很多内容混淆了授权载体和访问控制模型本身的边界。
核心逻辑拆解
- DAC的核心判定标准是资源所有者拥有完全的权限分配自主权,可自主决定将资源的哪些访问权限授予其他主体,OAuth授权流程里用户作为资源所有者,自主选择给客户端授予哪些scope权限的逻辑,完全匹配这一标准,这也是你认为它属于DAC的核心合理依据。
- 部分内容将其归类为ABAC属于概念混淆:只有当业务侧把用户属性、资源属性、环境属性等多维度信息存入scope,且资源服务端基于这些属性做权限判定时,基于scope实现的业务访问控制逻辑才属于ABAC,scope本身只是承载权限信息的载体,和ABAC没有绑定关系。
- 同理scope也可以用来实现RBAC:比如在scope中存入
role:editor、role:admin这类角色标识,资源服务端基于角色做权限校验,此时对应的访问控制方案就是RBAC,完全取决于上层业务的使用方式。 - 你查阅的RFC 7519、RFC 6749没有给出明确归类是正常情况:这两个规范只定义JWT格式、OAuth授权流程和访问令牌的基础能力,不会约束业务侧的访问控制实现逻辑,自然不会绑定某一类访问控制模型。
关于你的问题合理性
你的问题本身没有问题,出现分类争议的本质是现有科普内容大多没有区分「OAuth原生授权机制的特性」和「基于OAuth扩展实现的访问控制方案」两个概念,才会出现归类混乱的情况。
内容的提问来源于stack exchange,提问作者bitsdanceforme
相关产品推荐
相关产品推荐

