2.4.4. リダイレクト URI

リダイレクトベースのフローを使用する場合は、クライアントに有効なリダイレクト URI を使用することが重要です。リダイレクト URI は可能な限り具体的にする必要があります。これは特に、クライアント側の (パブリッククライアント) アプリケーションに適用されます。これを行わないと、以下が発生する可能性があります。

  • オープンリダイレクト - これにより、攻撃者はドメインから来ているように見えるなりすましリンクを作成できます
  • 不正なエントリ - ユーザーがすでに Red Hat Single Sign-Onで認証されている場合、攻撃者は、ユーザーの知らないうちにユーザーをリダイレクトすることでアクセスを取得するようにリダイレクト URI が正しく構成されていないパブリッククライアントを使用できます。

Web アプリケーションで実稼働環境では常にすべてのリダイレクト URI に https を使用します。http へのリダイレクトを許可しないでください。

いくつかの特別なリダイレクト URI もあります。

http://localhost
このリダイレクト URI はネイティブアプリケーションに役立ち、ネイティブアプリケーションは認証コードの取得に使用できるランダムポートで Web サーバーを作成できます。このリダイレクト URI は任意のポートを許可します。
urn:ietf:wg:oauth:2.0:oob
クライアント (またはブラウザーが利用できない) で Web サーバーを起動できない場合は、特別な urn:ietf:wg:oauth:2.0:oob リダイレクト URI を使用できます。このリダイレクト URI を使用すると、Red Hat Single Sign-On は、タイトルとページ上のボックスにコードを含むページを表示します。アプリケーションは、ブラウザーののタイトルが変更されたことを検出するか、ユーザーがコードを手動でアプリケーションにコピーして貼り付けることができます。このリダイレクト URI を使用すると、ユーザーが別のデバイスを使用してアプリケーションに貼り付けるコードを取得することもできます。