OAuth 2.0 ダンスと OAuth 2.0 アクセストークン適用

OAuth ダンスは、Mule OAuth 2.0 プロバイダー、API、およびクライアントアプリケーションによって実行される認証プロセスです。こ認証プロセスは、RFC 6749 に準拠しています。

OAuth ダンス認証フロー

次のスクリーンショットは、OAuth ダンス認証フローを示しています。

oauth+policy1
  1. トークン要求はプロバイダーに送信され、必要に応じてクライアントアプリケーションのログイン情報が指定されます。

    ログイン情報は、Anypoint Platform によって生成されるクライアント ID とクライアントシークレットに対応します。

  2. Mule OAuth 2.0 プロバイダーがトークンを返します。

  3. HTTP 要求が、OAuth 2.0 アクセストークン適用ポリシーの適用先の保護されたリソースに対して実行されます。

    保護されたリソースが自動検出によって API 定義にリンクされます。

  4. OAuth 2.0 アクセストークン適用ポリシーがこの要求を傍受し、プロバイダーにトークンを検証するように伝えます。

  5. トークンが正しく検証された場合:

    1. トークンは許可リスト登録され、有効期限が切れるまで保持されます。

      以降のこのトークンが含まれる要求は、OAuth プロバイダーに対して検証されません。

    2. クライアントアプリケーションのログイン情報に関連付けられたクライアント ID が検証され、アプリケーションに API とのアクティブなコントラクトがあることが確認されます。

      これは OpenAM プロバイダーには適用されません。

  6. 要求がリソースに転送されます。

  7. HTTP 応答が生成されます。

リクエスターは、クライアントアプリケーションのログイン情報へのアクセス権を直接取得するのではなく、OAuth プロバイダーから認証されます。クライアントアプリケーションオーナーがログイン情報を所有し、プロバイダーに API とのやりとりを許可します。保護されたリソースは、ユーザーが有効なアクセストークンを持っているため、認証済みと判断します。

curl を使用した保護されたリソースへの HTTP 要求の例

次の例では、保護されたリソースが「http://localhost:8081/simple」に設定されています。

HTTP 認証ヘッダーを使用

curl -H "Authorization:Bearer <access token>"  "http://localhost:8081/simple" -vvv

HTTP クエリパラメーターを使用

curl "http://localhost:8081/simple/?access_token=<access token>" -vvv