Skip to main content

6. 令牌请求 (Token Request)

authorization_details令牌请求参数可用于指定客户端希望AS分配给访问令牌的授权详情。AS检查底层授权(对于授权类型authorization_coderefresh_token等)或客户端的策略(对于授权类型client_credentials)是否允许颁发具有所请求授权详情的访问令牌。否则,AS将使用错误代码invalid_authorization_details(类似于invalid_scope)拒绝请求。

6.1. 比较授权详情 (Comparing Authorization Details)

OAuth协议中的许多操作允许AS和RS根据请求是否要求比先前存在的请求"更多"或"更少"来做出安全决策。例如,在刷新令牌时,客户端可以请求具有比资源所有者先前授权的"更少权限"的新访问令牌。请求的访问令牌将传达减少的权限,但资源所有者先前的授权不会因此类请求而改变。

由于authorization_details中字段的语义将特定于给定API或API集的实现,因此没有标准化的机制来比较两个任意的授权详情请求。在大多数情况下,AS不应依赖简单的对象比较,因为请求中某些字段的交集可能会对授予的访问权限产生副作用,具体取决于API的设计和部署方式。这与某些API使用的scope值具有类似的效果。

在将新请求与现有请求进行比较时,AS可以使用与最初授予请求时使用的相同处理技术来确定资源所有者是否需要授权该请求。此比较的详细信息取决于授权请求类型的定义,超出了本规范的范围,但可以应用常见模式。