これらの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を呼び出す必要があります 。そうしないと、アクセストークンは無効とみなされます。