我们是否使用 "scope" 作为客户端凭证授予类型?为什么?
Do we use "scope" for client credential grant type? Why?
在大多数 OAuth2 典型用例中,范围由资源所有者密码授予类型或授权代码流使用,其中需要用户登录。
好像scope主要是用来控制用户资源的访问权限的。例如,授权第 3 方客户端访问另一台服务器上的资源所有者(用户)资源。
在某些情况下,用户不在场。例如,一家公司只想为另一家公司提供 API。正在使用客户端凭据。大多数 API 网关产品都有订阅者管理选项来控制哪个客户端 ID 可以访问哪个 API。在那种情况下,使用 OAuth 范围来管理对 API 的访问是否仍然有意义?为什么?
此外,我找不到任何使用范围和客户端凭据授权类型的示例。它是罕见的用例吗?
客户端凭据授权类型用于访问双方own/control/trust.
受保护的资源
此授权类型支持范围。它们通常不被使用,因为信任已经存在并且不需要通过范围限制信任。
换句话说,不使用作用域的原因是,如果不存在信任,则其他授权类型更合适。
在大多数 OAuth2 典型用例中,范围由资源所有者密码授予类型或授权代码流使用,其中需要用户登录。
好像scope主要是用来控制用户资源的访问权限的。例如,授权第 3 方客户端访问另一台服务器上的资源所有者(用户)资源。
在某些情况下,用户不在场。例如,一家公司只想为另一家公司提供 API。正在使用客户端凭据。大多数 API 网关产品都有订阅者管理选项来控制哪个客户端 ID 可以访问哪个 API。在那种情况下,使用 OAuth 范围来管理对 API 的访问是否仍然有意义?为什么?
此外,我找不到任何使用范围和客户端凭据授权类型的示例。它是罕见的用例吗?
客户端凭据授权类型用于访问双方own/control/trust.
受保护的资源此授权类型支持范围。它们通常不被使用,因为信任已经存在并且不需要通过范围限制信任。
换句话说,不使用作用域的原因是,如果不存在信任,则其他授权类型更合适。