ユーザー認証に対応するようアプリケーションを変更する際は、次の Auth0 ツールが役立ちます。
- クイックスタートは、認証を実装する最も簡単な方法です。Universal Loginと、Auth0 の言語別およびフレームワーク別 SDK の使い方を確認できます。
- Auth0 Authentication APIは、自分でコードを記述して実装したい方向けのリファレンスです。まず、使用するフローを特定します。次に、そのフローを実装する手順に従ってください。
トークンURLへのPOSTリクエストの例
パラメーター
| パラメーター名 | 説明 |
|---|---|
grant_type | "client_credentials" に設定します。 |
client_id | アプリケーションのクライアントIDです。この値はアプリケーションの設定タブで確認できます。 |
client_secret | アプリケーションのクライアントシークレットです。この値はアプリケーションの設定タブで確認できます。利用可能なアプリケーションの認証方法の詳細については、Application Credentialsを参照してください。 |
audience | トークンの対象者で、対象はAPIです。この値は、APIの設定タブの識別子フィールドで確認できます。 |
organization | 任意。リクエストに関連付ける組織名または識別子です。詳細については、Machine-to-Machine Access for Organizationsを参照してください。 |
レスポンス
access_token、token_type、expires_in を含むペイロードを含んだ HTTP 200 レスポンスが返されます。
アクセストークンの対象者を制御する
/authorize エンドポイントを使用してアクセスをリクエストします。このアクセスは、アプリケーションによって要求され、認証時にユーザーによって許可されます。
テナントを設定して、常にデフォルトの対象者を含めることができます。
| トークンの用途 | 形式 | リクエストされる対象者 | リクエストされるスコープ |
|---|---|---|---|
| /userinfo endpoint | 不透明 | テナント名 (\{yourDomain}) 。audience パラメーターに値を指定しない、または audience パラメーターを渡さない | openid |
| Auth0 Management API | JWT | Management API v2 の識別子 (https://{tenant}.auth0.com/api/v2/) | |
| 独自のカスタム API | JWT | Auth0 Dashboard に登録したカスタム API の API 識別子 |
複数の対象者
openid をスコープに指定すると、発行されるアクセストークンの aud クレームは文字列ではなく配列になります。また、そのアクセストークンはカスタム API と /userinfo エンドポイントの両方に対して有効です。アクセストークンが 2 つ以上の対象者を持てるのは、単一のカスタム API と Auth0 の /userinfo エンドポイントを併用する場合に限られます。
カスタムドメインと Auth0 Management API
iss) クレーム) を持つトークンを発行します。カスタムドメイン を使用しているユーザーは、と Auth0 ドメインのどちらも使用できます。
たとえば、https://login.northwind.com というカスタムドメインがあるとします。https://login.northwind.com/authorize からアクセストークンをリクエストした場合、トークンの iss クレームは https://login.northwind.com/ になります。一方、https://northwind.auth0.com/authorize からアクセストークンをリクエストした場合、トークンの iss クレームは https://northwind.auth0.com/ になります。
カスタムドメインから、対象の対象者を Auth0 の に指定してアクセストークンをリクエストする場合は、必ず カスタムドメイン経由で Auth0 Management API を呼び出す必要があります。そうしないと、そのアクセストークンは無効と見なされます。