これらのAuth0ツールは、アプリケーションによるユーザーの認証を可能にします。
- Quickstartを使うと、認証を簡単に実装できます。ユニバーサルログインやAuth0の言語・フレームワーク別SDKの使い方を説明しています。
- Auth0 Authentication APIは、自分でコードを書きたい人向けの参考文献です。まず、使用するフローを決めます。そして、手順に従ってフローを実装します。
トークンURLへのPOSTの例
パラメーター
| パラメーター名 | 説明 |
|---|---|
grant_type | これを”client_credentials”に設定します。 |
client_id | アプリケーションのクライアントID。この値はアプリケーションの設定タブで見つけることができます。 |
client_secret | アプリケーションのクライアントシークレット。この値はアプリケーションの設定タブで見つけることができます。使用できるアプリケーション認証方法の詳細については、「アプリケーション資格情報」をお読みください。 |
audience | トークンのオーディエンス(ご利用のAPI)。これは、APIの[Settings(設定)]タブの [Identifier(識別子)] フィールドにあります。 |
organization | 任意。要求に関連付けたい組織の名前または識別子です。詳細については「組織に対するマシンツーマシンアクセス」をお読みください。 |
応答
値にaccess_token、token_type、およびexpires_inを含むペイロードとともにHTTP 200応答が届きます。
トークンは、検証してから保存します。操作方法については、「IDトークンの検証」および「アクセストークンを検証する」を参照してください。
アクセストークンオーディエンスをコントロールする
ユーザー認証時、アクセストークンを要求して、対象オーディエンスとアクセスのスコープを要求に入れます。アプリケーションはアクセス要求に/authorizeエンドポイントを使います。このアクセスはアプリケーションに要求され、認証においてユーザーにも認められます。
常にデフォルトのオーディエンスを含めるようにテナントを構成できます。
| トークンの使用 | 形式 | 要求されたオーディエンス | 要求されたスコープ |
|---|---|---|---|
/userinfoエンドポイント | 不透明 | テナント名({yourDomain})、audienceパラメーターの値なし、渡されるaudienceパラメーターなし | openid |
| Auth0 Management API | JWT | Auth0 Management API v2の識別子(https://{tenant}.auth0.com/api/v2/) | |
| 独自のカスタムAPI | JWT | Auth0 Dashboardで登録されたカスタムAPIのAPI識別子 |
複数オーディエンス
カスタムAPI識別子のオーディエンスとopenidのスコープを指定した場合、アクセストークンのaudクレームは文字列でなく配列となり、アクセストークンはカスタムAPIと/userinfoエンドポイントの双方に対して有効となります。単一のカスタムAPIとAuth0の/userinfoエンドポイントを使う場合は、アクセストークンのオーディエンスは2つ以上となります。
カスタムドメインとAuth0 Management API
Auth0は、トークン要求時に使ったドメインの発行者(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を呼び出す必要があります 。そうしないと、アクセストークンは無効とみなされます。