メインコンテンツまでスキップ

5.2. Passing a Request Object by Reference (参照による転送)

5.2. Passing a Request Object by Reference (参照による転送)

request_uri 認可リクエストパラメータにより, OAuth 認可リクエストを値ではなく参照で渡せる. request パラメータと同様に用いるが, Request Object の値は指定 URI のリソースから取得し, 値として直接は渡さない.

Request URI 全体は 512 ASCII 文字を超えないべきである. 理由は二つある:

  1. 本稿時点で市場の多くの電話機は大きなペイロードを受け付けないことが多く, 制限は通常 512 または 1024 ASCII 文字である.

  2. 2G のような低速回線では大きな URL は応答を遅くし, ユーザ体験の観点から推奨されない.

URI が認可サーバからクライアントに提供された場合を除き, request_uri で参照されるリソースの内容は Request Object であり, 認可サーバが到達可能でなければならない. 前者の場合, request_uri は [RFC7230] のセクション 2.7.2 に従った https URI でなければならない. 後者の場合は [RFC8141] に従った URN でなければならない.

request_uri で参照されうる Request Object リソースの内容の例を以下に示す (表示のため値内のみ改行):

eyJhbGciOiJSUzI1NiIsImtpZCI6ImsyYmRjIn0.ewogICAgImlzcyI6ICJzNkJoZF
JrcXQzIiwKICAgICJhdWQiOiAiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20iLAog
ICAgInJlc3BvbnNlX3R5cGUiOiAiY29kZSBpZF90b2tlbiIsCiAgICAiY2xpZW50X2
lkIjogInM2QmhkUmtxdDMiLAogICAgInJlZGlyZWN0X3VyaSI6ICJodHRwczovL2Ns
aWVudC5leGFtcGxlLm9yZy9jYiIsCiAgICAic2NvcGUiOiAib3BlbmlkIiwKICAgIC
JzdGF0ZSI6ICJhZjBpZmpzbGRraiIsCiAgICAibm9uY2UiOiAibi0wUzZfV3pBMk1q
IiwKICAgICJtYXhfYWdlIjogODY0MDAKfQ.Nsxa_18VUElVaPjqW_ToI1yrEJ67BgK
b5xsuZRVqzGkfKrOIX7BCx0biSxYGmjK9KJPctH1OC0iQJwXu5YVY-vnW0_PLJb1C2
HG-ztVzcnKZC2gE4i0vgQcpkUOCpW3SEYXnyWnKzuKzqSb1wAZALo5f89B_p6QA6j6
JwBSRvdVsDPdulW8lKxGTbH82czCaQ50rLAg3EYLYaCb4ik4I1zGXE4fvim9FIMs8O
CMmzwIB5S-ujFfzwFjoyuPEV4hJnoVUmXR_W9typPf846lGwA8h9G9oNTIuX8Ft2jf
pnZdFmLg3_wr3Wa5q3a-lfbgF3S9H_8nN3j1i7tLR_5Nz-g

5.2.1, 5.2.2, 5.2.3 を参照のこと.