Oauth 2.0 除作用域外,还基于授予类型限制对资源的访问
据我了解:-Oauth 2.0 除作用域外,还基于授予类型限制对资源的访问,oauth-2.0,Oauth 2.0,据我了解:- oauth客户端可以获得的作用域是针对授权服务器上的客户端注册的 客户端可以使用的授权类型是针对授权服务器上的客户端注册的 资源配置为允许包含与某些作用域关联的访问令牌的请求 在vanilla OAuth中是否有一种机制,在限制端点时除了使用作用域外还使用授权类型 例如,给定范围=组织、映像和授权类型=客户端凭据、身份验证代码的客户端: (在令牌创建时) 客户端A要获取“组织”作用域的访问令牌,只能使用客户端凭据授予类型 对于客户端A,要获取“映像”作用域的访问令牌,只能使用
- oauth客户端可以获得的作用域是针对授权服务器上的客户端注册的
- 客户端可以使用的授权类型是针对授权服务器上的客户端注册的
- 资源配置为允许包含与某些作用域关联的访问令牌的请求
- 客户端A要获取“组织”作用域的访问令牌,只能使用客户端凭据授予类型
- 对于客户端A,要获取“映像”作用域的访问令牌,只能使用身份验证代码授权类型
- 当使用包含预期“组织”作用域的访问令牌调用/organization终结点时,仅当客户端凭据授予类型用于获取访问令牌时才允许请求(如果使用任何其他授予类型,则失败)
- 当使用访问令牌调用/images端点以包含预期的“images”作用域时,仅当使用身份验证代码授权类型来获取访问令牌时才允许请求(如果使用任何其他授权类型,则失败)
我仍然有兴趣知道oauth中是否有任何特定的内置内容可以通过授权类型进行限制。令牌通常不会记录授权信息,实际上需要能够根据调用方的权限控制每个应用程序的访问 我总是为不同的授权类型配置不同的OAuth客户机,因为它们是不同的逻辑客户机,永远不能共享会话 一些可能的选择:
- 备选案文1。如果您的授权服务器支持,请使用多个API,每个API都有一个,并为不同的OAuth客户端配置不同的访问群体
- 备选案文2。API端点可能会根据允许的客户端ID列表检查访问令牌中的客户端ID,尽管这不是一个好的长期选项
- 备选案文3。使用OAuth仅识别调用方,然后查找在应用程序数据中存储和管理的调用方权限。这几乎总是最好的长期选择
- 首先通过作用域等进行高级OAuth授权
- 从令牌的声明中识别调用方
- 在应用程序数据中查找调用者的角色
- 在API逻辑中强制执行角色的授权规则