我们是否使用“范围”作为客户端凭证授予类型?为什么?

Fra*_*ung 4 scopes oauth-2.0

在大多数 OAuth2 典型用例中,范围由需要用户登录的资源所有者密码授予类型或授权代码流使用。

看来scope主要是用来控制用户资源的访问的。例如,授权第3方客户端访问另一台服务器上的资源所有者(用户)资源。

在某些情况下,用户不在场。例如,一家公司只想为另一家公司提供API。正在使用客户端凭据。大多数 API 网关产品都有订阅者管理选项来控制哪个客户端 ID 可以访问哪些 API。在这种情况下,使用 OAuth 范围来管理对 API 的访问仍然有意义吗?为什么?

此外,我找不到任何使用范围和客户端凭据授予类型的示例。这是罕见的用例吗?

Joh*_*ley 7

客户端凭据授予类型用于访问双方拥有/控制/信任的受保护资源。

此拨款类型支持范围。它们通常不被使用,因为信任已经存在并且不需要通过范围限制信任。

换句话说,不使用范围的原因是,如果不存在信任,则其他授予类型更合适。

  • 1) 如果客户端和服务器互不信任,请使用不同的授权类型。2) 该授权类型支持范围。权限可以按请求的范围进行管理。由于客户端 ID 也是此授权类型的一部分,因此也可以根据客户端 ID 控制权限。3) 该授权类型用于两个系统之间,例如公司数据中心的两个系统。4)信任和功能由您决定。OAuth 规范没有定义这一点。 (2认同)