OAuth のユーザー・シナリオ

IBM® API Connect を使用する OAuth の潜在的なユーザーには、API を保護するためのいくつかの方法があります。 以下のシナリオにより、使用可能なオプションの概要を説明します。

シナリオの概要

このシナリオで、Alice は、アプリケーションのユーザーです。 Alice は、OAuth を使用するサード・パーティー・システム内の自分に関する特定の情報にアクセスするための許可を、アプリケーションに付与することができます。 ターゲット・サービスがサポートしている OAuth のタイプによっては、Alice はアプリケーションに自分のユーザー名とパスワードを入力しません。 代わりに、アプリケーションは、Alice の資格情報 (ユーザー名およびパスワード) を表すアクセス・トークンを受け取ります。 これで、アプリケーションが、ターゲット・システムにある Alice に関する情報にアクセスできるようになります。

例えば Alice が、mybooks.com が提供するサービスで、読んだ書籍のリストを保持しているとします。 スマートフォンの購入後、Alice は、書籍の詳細を表示するアプリケーションを新しいスマートフォンにインストールします。 スマートフォンのアプリケーションは、その情報にアクセスできる mybooks.com 提供の API を呼び出そうとします。 mybooks.com の API は、OAuth プロトコルを使用して保護されています。

書籍の詳細にアクセスするためには、アプリケーションは以下の 2 ステップのプロセスを実行する必要があります。
  1. アプリケーションは、まず Alice から許可を取得する必要があります。
  2. その後、アプリケーションは、その許可を使用してターゲット・サービスを呼び出し、書籍のリストを取得します。

最初のステップで、アプリケーションは通常、ターゲット・サービスのプロバイダーである mybooks.com に Alice を誘導します。 Alice は、自分のユーザー名とパスワードを入力し、自分の情報にアクセスするための許可をアプリケーションに付与します。 Alice が、ターゲット・サービスのプロバイダーに自分の資格情報を提供しているのであって、信頼できないプロキシー・アプリケーションに提供しているのではないと確信できることが重要です。 例えば、Alice が自分の資格情報を入力する Web サイトのセキュリティー証明書が、ターゲット・サービスのプロバイダーから提供される情報と一致していることを確認します。

このステップを実行すると、API の呼び出しでアプリケーションが使用できるアクセス・トークンが生成されます。 アプリケーションは、次に、適切な形式の OAuth 要求を生成します。 例えば、許可ヘッダーまたは HTTP 照会パラメーター (OAuth で必要なアクセス・トークン、コンシューマー・キー、および署名方式を含む) などです。 この OAuth 要求を使用して、API プロキシー操作が呼び出されます。

API Connect 内のシナリオ

このシナリオをサポートするために、API 操作の定義を変更する必要はありません。
  1. Alice は、API を呼び出す前に、自分の情報にアクセスするための許可をアプリケーションに付与します。
  2. アプリケーションが許可ヘッダーまたは照会パラメーター (操作エンドポイントの呼び出しに関する OAuth 詳細情報を含む) を提供すると、ヘッダーは自動的にターゲット・サービスにパススルーされます。追加の構成は必要ありません。