5. Authorization Request (認可リクエスト)
5. Authorization Request (認可リクエスト)
クライアントは, 認可エンドポイント URI のクエリコンポーネントに application/x-www-form-urlencoded 形式で次のパラメータを追加して認可リクエスト URI を構築する.
request
: request_uri が指定されない限り必須 (REQUIRED). [RFC6749] (OAuth 2.0) のセクション 4 に記載の認可リクエストパラメータを保持する Request Object (セクション 2.1). 認可リクエストにこのパラメータがある場合, request_uri を含めてはならない (MUST NOT).
request_uri
: request が指定されない限り必須 (REQUIRED). RFC 3986 [RFC3986] で定義される絶対 URI であり, [RFC6749] (OAuth 2.0) のセクション 4 の認可リクエストパラメータを参照する Request Object URI (セクション 2.2). 認可リクエストにこのパラメータがある場合, request を含めてはならない (MUST NOT).
client_id
: 必須 (REQUIRED). OAuth 2.0 [RFC6749] の client_id. 値は request または request_uri の Request Object (セクション 2.1) 内の client_id と一致しなければならない (MUST).
クライアントは HTTP リダイレクト応答またはユーザエージェントで利用可能なその他の手段で, リソースオーナーを構築した URI に誘導する.
例として, クライアントはエンドユーザのユーザエージェントに次の HTTPS リクエストを行わせる:
GET /authz?client_id=s6BhdRkqt3&request=eyJhbG..AlMGzw HTTP/1.1
Host: server.example.com
簡潔にするため request パラメータ値は省略している.
Authorization Request Object は次のいずれかでなければならない (MUST):
(a) JWS 署名付き
(b) JWS 署名および JWE 暗号化
クライアントは下位互換などのため Request Object に含まれるパラメータをクエリパラメータにも重複して送ってもよい (MAY). ただし本仕様をサポートする認可サーバは Request Object に含まれるパラメータのみを用いなければならない (MUST).
5.1. Passing a Request Object by Value (値による転送) および 5.2. Passing a Request Object by Reference (参照による転送) を参照のこと.