2.4. Management of Client Redirect URIs (クライアントリダイレクト URI の管理)
2.4. Management of Client Redirect URIs (クライアントリダイレクト URI の管理)
OAuth 2.0 [RFC6749] は, 特定の状況で未登録の redirect_uri をクライアントが用いること, または認可サーバが認可エンドポイントでクライアントが提示した redirect_uri に独自の照合意味を適用することを許す. しかし OAuth セキュリティ BCP [OAUTH-SECURITY-TOPICS] および OAuth 2.1 [OAUTH-V2] は, 認可サーバが redirect_uri パラメータを特定クライアントに事前に確立されたリダイレクト URI の集合と正確に一致させることを要求する. これはクライアントなりすましの早期検出と, トークン漏えいおよびオープンリダイレクトの防止に役立つ. 欠点として, リダイレクト URI は通常クライアントポリシーで最も変動しやすい部分であるため管理が煩雑になりうる.
認可サーバと認証情報を確立したクライアントに PAR を用いる場合, この正確一致要件は緩和してもよい (MAY). 通常の認可リクエストとは異なり, 認可プロセス開始前にクライアントを認証し正当なクライアントと対話していることを保証できるためである. 認可サーバは, そのようなクライアントに対し, 事前に登録されていない redirect_uri の指定を許してもよい (MAY). これにより柔軟性 (例: 実行時に認可サーバごとに異なる redirect_uri を発行) が増し, 管理が簡素化されうる. 提示された redirect_uri への制限の適用は認可サーバの裁量であり, 例えば特定の URI プレフィックスを要求したり, 実行時に変化してよいのをクエリパラメータのみに限定したりしてもよい (MAY).
注: トランザクション固有のリダイレクト URI を設定できることは, クライアント ID と対応する認証情報・ポリシーが信頼できる第三者 (例: クライアント権限を含むクライアント証明書) により管理される状況でも有用である. そのような外部管理クライアントは, 当該第三者を信頼する認可サーバと追加登録なしにやり取りできる.