メインコンテンツへスキップ
このチュートリアルでは、クライアントの資格情報フローを使用して、マシンツーマシン(M2M)アプリケーションから独自のAPIを呼び出します。フローの仕組みやメリットについては、「クライアントの資格情報フロー」をお読みください。
Auth0では、アプリケーションがクライアントの資格情報フローを手軽に実装できます。認証に成功すると、アプリケーションはアクセストークンを使用して、保護されたAPIを呼び出せるようになります。アクセストークンの詳細については、「アクセストークン」をお読みください。

前提条件

このチュートリアルを始める前に:

手順

  1. トークンを要求する: 認可済みのアプリケーションからAPIのアクセストークンを要求します。
  2. APIを呼び出す: 取得したアクセストークンを使ってAPIを呼び出します。
任意:サンプルユースケースを参考にしてください

トークンを要求する

APIにアクセスするには、そのAPIのアクセストークンを取得しなければなりません。これを行うには、POSTトークンURLに対して実行する必要があります。

トークンURLに対するPOSTの例

curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=client_credentials \
  --data client_id=YOUR_CLIENT_ID \
  --data client_secret=YOUR_CLIENT_SECRET \
  --data audience=YOUR_API_IDENTIFIER
パラメーター
パラメーター名説明
grant_typeこれを”client_credentials”に設定します。
client_idアプリケーションのクライアントID。この値はアプリケーションの設定タブで見つけることができます。
client_secretアプリケーションのクライアントシークレット。この値はアプリケーションの設定タブで見つけることができます。使用できるアプリケーション認証方法の詳細については、「アプリケーション資格情報」をお読みください。
audienceトークンのオーディエンス(ご利用のAPI)。これは、APIの[Settings(設定)]タブ[Identifier(識別子)] フィールドにあります。
organization任意。要求に関連付けたい組織の名前または識別子です。詳細については「組織に対するマシンツーマシンアクセス」をお読みください。

応答

正常な場合には、HTTP 200応答でaccess_tokentoken_type、およびexpires_inの値を含むペイロードを受け取ります。
{
  "access_token":"eyJz93a...k4laUWw",
  "token_type":"Bearer",
  "expires_in":86400
}
トークンは、検証してから保存します。操作方法については、「IDトークンの検証」および「アクセストークンを検証する」を参照してください。

APIを呼び出す

M2MアプリケーションからAPIを呼び出すには、アプリケーションは、取得したアクセストークンをベアラートークンとしてHTTP要求の認可ヘッダーで渡さなければなりません。
curl --request GET \
  --url https://myapi.com/api \
  --header 'authorization: Bearer ACCESS_TOKEN' \
  --header 'content-type: application/json'

サンプルユースケース

トークンをカスタマイズする

Actionsを使用すると、カスタムロジックに基づいてアクセストークンを拒否したり、アクセストークンにクレームを追加したりできます。クライアント資格情報が実行時に提示されると、Auth0はそれにアタッチされたアクションを呼び出して、カスタムロジックを実行します。 Actionsの詳細については、「マシンツーマシンフロー」をお読みください。

サンプルアプリケーションの表示:サーバークライアント + API

サンプルの実装については、サーバークライアント + APIアーキテクチャのシナリオを参照してください。この一連のチュートリアルには、付録にGitHubで提供されているコードのサンプルがあります。 APIが要求と一緒に受信したアクセストークンは、必ず検証されます。詳細については、「アクセストークンを検証する」をお読みください。

もっと詳しく

I