我们是否使用 "scope" 作为客户端凭证授予类型?为什么?

Do we use "scope" for client credential grant type? Why?

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

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

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

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

客户端凭据授权类型用于访问双方own/control/trust.

受保护的资源

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

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