4. Authorization Request (授权请求)
4. Authorization Request (授权请求)
客户端使用授权服务器返回的 request_uri 值, 按 [RFC9101] 构建授权请求. 下例展示客户端如何引导用户代理发起如下 HTTP 请求 (仅为展示而换行与缩进):
GET /authorize?client_id=s6BhdRkqt3&request_uri=urn%3Aietf%3Aparams
%3Aoauth%3Arequest_uri%3A6esc_11ACC5bwc014ltc14eY22c HTTP/1.1
Host: as.example.com
由于授权请求内容的一部分 (例如 code_challenge 参数值) 对特定授权请求是唯一的, 客户端对某一 request_uri 值只能使用一次. 授权服务器应将 request_uri 值视为一次性使用, 但可以因用户重新加载/刷新用户代理而允许重复请求. 已过期的 request_uri 必须作为无效而拒绝.
授权服务器必须像校验任何其他授权请求一样, 校验源自推送请求的授权请求. 若授权服务器能够校验该请求曾为推送请求, 且请求或授权服务器策略未发生会影响所省略步骤结果的修改, 则可以省略在推送时已执行的校验步骤.
授权服务器策略可以全局或按客户端规定, 客户端传递授权请求数据的唯一方式必须是 PAR. 此时, 授权服务器将拒绝处理任何在授权端点发起的, 未带有从 PAR 端点获得的值的 request_uri 参数的请求, 并使用 invalid_request 错误码.
注: 授权服务器与客户端可以使用第 5 节与第 6 节所定义的元数据来表明期望行为.