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

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

oauth+policy1
  1. トークンがプロバイダに要求され、必要に応じてクライアントアプリケーションのログイン情報 (API プラットフォームで生成されたクライアント ID およびシークレットに対応するログイン情報) が指定されます。

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

  3. HTTP 要求が、保護されたリソース (OAuth 2.0 アクセストークン適用ポリシーが適用されるリソース) に対して実行されます。これには、認証ヘッダーまたはクエリパラメータとしてのトークンが含まれます。

    • 保護されたリソースが Autodiscovery によって API 定義にリンクされます。

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

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

    • トークンはホワイトリスト登録され、有効期限まで保持されます。以降のこのトークンが含まれる要求は、OAuth プロバイダに対して検証されません。

    • クライアントアプリケーションのログイン情報に関連付けられたクライアント 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

次のステップ

Was this article helpful?

💙 Thanks for your feedback!