接続で Token Vault を有効にしている場合、アクセストークンとリフレッシュトークンはユーザーの
identities 配列には保存されなくなります。代わりに、Token Vault 内の安全な tokenset に保存されます。Token Vault を有効にするには、Configure Token Vault を参照してください。この記事では、選択した IdP との接続がすでに設定されていることを前提としています。まだ設定していない場合は、Identity Providers Supported by Auth0 に移動し、使用する IdP を選択して設定手順に従ってください。
- コードがバックエンドで実行される場合、サーバーはシークレットを安全に保存できる信頼された環境であるとみなせます (後述するように、バックエンドのシナリオではシークレットを使用します) 。その場合は、この記事のバックエンドのセクションに進んでください。
- コードがフロントエンドで実行される場合 (たとえば、SPA、ネイティブデスクトップアプリ、モバイルアプリなど) 、アプリで資格情報を安全に保持することはできないため、別の方法に従う必要があります。この場合は、この記事のフロントエンドのセクションに進んでください。
バックエンドから
- Auth0 Management API を呼び出すためのアクセストークンを取得します。
- 手順 1 で取得したアクセストークンを使用して、Auth0 Management API の Get Users by ID endpoint を呼び出します。このエンドポイントは、IdP アクセストークンを含むユーザーの完全なプロファイルを返します。
- レスポンスから IdP アクセストークンを取り出し、それを使用して IdP の API を呼び出します。
ステップ 1: トークンを取得する
Management API 用のテストアプリケーションを作成する
- Auth0 Dashboard > Applications > APIs に移動し、Auth0 Management API を選択します。
- API Explorer ビューを選択し、Create & Authorize a Test Application をクリックします。
ボタンが表示されない場合
このボタンが表示されない場合は、Management API に対して認可済みのアプリケーションがすでに 1 つ以上あることを意味します。この場合は、既存のアプリケーションのスコープを更新して使用するか、次の手順で新しいアプリケーションを作成できます。
- Auth0 Dashboard > Applications > Applications に移動し、Create Application を選択します。
- Machine to Machine Applications を選択し、Create を選択します。
- Select an API ドロップダウンから
Auth0 Management APIを選択します。 - 必要なスコープを有効にし、Authorize を選択します。
- APIs ビューを選択し、Auth0 Management API のトグルを有効にします。

Management API トークンを取得する
- 登録済みの Auth0 Management API で、Test ビューを選択します。
- Application ドロップダウンからアプリケーションを選択すると、すぐに使えるスニペットにカスタマイズされた変数が自動入力されます。
- スニペットの言語を選択し、コピーして実行します。
- レスポンスから
access_tokenプロパティを取り出します。これを使用して Management API にアクセスします。
スニペットでは何をしていますか?
スニペットは、OAuth 2.0 Client Credentials grant を使用して、Auth0 Authentication API の
/oauth/token エンドポイントに POST リクエストを送信します。これは、マシンツーマシンのプロセスが API にアクセスするために使用するグラントです。フローの詳細については、Client Credentials Flowを参照してください。トークンの有効期限
- Auth0 Dashboard > Applications > APIs に移動し、Auth0 Management API を選択します。
- Settings ビューを開き、Token Expiration (Seconds) フィールドに新しい値を入力して、Save をクリックします。設定できる最大値は 2,592,000 秒 (30 日) ですが、デフォルト値のまま使用することを推奨します。
ステップ 2: 完全なユーザープロファイルを取得する
{userId}: IdP の API を呼び出す対象ユーザーの ID。{yourAccessToken}: 前のセクションで抽出したアクセストークン。
ユーザー ID はどこで確認できますか?
- テスト用途では、Auth0 Dashboard > User Management > Users でユーザー ID を確認できます。対象のユーザーを見つけて、user_id フィールドの値をコピーしてください。
-
実装では、IDトークン の
subクレームからユーザー ID を抽出することも、Authentication API の /userinfo エンドポイント を呼び出してレスポンスプロパティuser_idから抽出することもできます。
ステップ 3: IdP アクセストークンを取得する
identities 配列内の user.identities[0].access_token にあります。
一部のIDプロバイダーでは、Auth0 はリフレッシュトークンも保存します。これを使用して、IdP の新しいアクセストークンを取得できます。これは、BitBucket、Google (OAuth 2.0)、OAuth 2.0、SharePoint、Azure AD で利用できます。詳しくは、Identity Provider Access Tokens を参照してください。
google-oauth2 の 1 つだけであることがわかります。
IDプロバイダーのアクセストークンに対して特定のスコープをリクエストする方法について詳しくは、IDプロバイダーの API を呼び出すためのスコープ/権限を追加するを参照してください。
フロントエンドから
/oauth/token を呼び出す際に使用する Machine to Machine Application の****を安全に保持できません。
その代わり、バックエンド用のプロキシを構築し、それを API としてアプリケーションに公開する必要があります。
プロキシを構築する
手順を見る
まだこれを実装したことがない場合は、Single-page Applications (SPA) with APIアーキテクチャシナリオが参考になるかもしれません。扱うシナリオは異なりますが、Auth0 の設定方法、SPA から API を呼び出す方法、API の検証を実装する方法を説明しています。Angular 2とNode.jsを使用したサンプルもあります。また、Mobile Applications with APIのバリエーションも提供しています (サンプルではAndroidとNode.jsを使用しています) 。