接続で Token Vault が有効になっている場合、アクセストークンとリフレッシュトークンはユーザーの
identities 配列には保存されなくなります。代わりに、Token Vault 内の安全なトークンセットに保存されます。Token Vault を有効にするには、Configure Token Vault を参照してください。この記事では、選択した IdP との接続がすでに設定済みであることを前提としています。まだの場合は、Identity Providers Supported by Auth0 に移動し、使用する IdP を選択して設定手順に従ってください。
- コードがバックエンドで動作する場合は、サーバーがシークレットを安全に保存できる信頼された環境であるとみなせます (後述するように、バックエンドのシナリオではシークレットを使用します) 。その場合は、この記事のバックエンドのセクションに進んでください。
- コードがフロントエンドで動作する場合 (たとえば SPA、Native デスクトップアプリ、モバイルアプリなど) は、アプリで資格情報を安全に保持できないため、別の方法に従う必要があります。この場合は、この記事のフロントエンドのセクションに進んでください。
バックエンドから
- Auth0 Management API を呼び出すためのアクセストークンを取得します。
- 手順 1 で取得したアクセストークンを使用して、Auth0 Management API の Get Users by ID endpoint を呼び出します。このエンドポイントは、IdP のアクセストークンを含むユーザーの完全なプロファイルを返します。
- レスポンスから IdP のアクセストークンを取り出し、それを使って IdP の API を呼び出します。
ステップ 1: トークンを取得する
Management API 用のテストアプリケーションを作成する
- Auth0 Dashboard > アプリケーション > APIs に移動し、Auth0 Management API を選択します。
- API Explorer ビューを選択し、Create & Authorize a Test Application をクリックします。
ボタンが表示されませんか?
このボタンが表示されない場合は、Management API 用に認可されたアプリケーションがすでに少なくとも 1 つあることを意味します。この場合は、既存のアプリケーションのスコープを更新してそれを使用するか、以下の手順で新しいアプリケーションを作成できます。
- Auth0 Dashboard > アプリケーション > アプリケーション に移動し、Create Application を選択します。
- Machine to Machine アプリケーション を選択し、続けて 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 クライアントクレデンシャルグラントを使用して、Auth0 Authentication API の
/oauth/token エンドポイント に POST リクエストを送信します。これは、machine-to-machine プロセスが API にアクセスするために使用するグラントです。フローの詳細については、クライアント認証情報フローを参照してください。トークンの有効期限
- Auth0 Dashboard > アプリケーション > APIs に移動し、Auth0 Management API を選択します。
- 設定ビューを選択し、Token Expiration (Seconds) フィールドで新しい値を入力して、Save をクリックします。設定できる最大値は 2,592,000 秒 (30 日) ですが、デフォルト値のままにしておくことをお勧めします。
ステップ 2: 完全なユーザープロファイルを取得する
{userId}: IdP の API を呼び出す対象ユーザーの ID。{yourAccessToken}: 前のセクションで抽出した アクセストークン。
ユーザー ID はどこで確認できますか?
- テスト目的であれば、Auth0 Dashboard > User Management > Users でユーザー ID を確認できます。対象のユーザーを見つけて、user_id フィールドの値をコピーしてください。
-
実装では、ID トークン の
subclaim からユーザー ID を抽出するか、Authentication API の /userinfo endpoint を呼び出して、レスポンスのuser_idプロパティから抽出できます。
ステップ 3: IdP のアクセストークンを抽出する
identities 配列内にある user.identities[0].access_token で確認できます。
一部の IDプロバイダー では、Auth0 はリフレッシュトークンも保存します。これを使用すると、IdP 用の新しいアクセストークンを取得できます。これは、BitBucket、Google (OAuth 2.0)、OAuth 2.0、SharePoint、Azure AD で利用できます。詳しくは、IDプロバイダーのアクセストークン を参照してください。
google-oauth2 の 1 つだけであることがわかります。
アイデンティティプロバイダーのアクセストークンに対して特定のスコープ/権限をリクエストする方法について詳しくは、Identity Provider の API を呼び出すためにスコープ/権限を追加するを参照してください。
フロントエンドから
/oauth/token を呼び出す際に使用する Machine to Machine Application の を、安全に保持できません。
その代わり、バックエンド用のプロキシを構築し、それを API としてアプリケーションに公開する必要があります。
プロキシを構築する
方法を見る
まだこれを実装したことがない場合は、API を使用するシングルページアプリケーション (SPA) のアーキテクチャシナリオが参考になるかもしれません。扱っているのは別のシナリオですが、Auth0 の設定方法、SPA から API を呼び出す方法、API のバリデーションを実装する方法を説明しています。Angular 2 と Node.js を使用したサンプルも含まれています。また、API を使用するモバイルアプリケーションのバリエーションも提供しています (サンプルでは Android と Node.js を使用しています) 。