影響を受けるエンドポイント
Actions
スコープの変更
read:users スコープを含むアクセストークンを取得した場合、GET /api/v2/users/{id} エンドポイントを使って任意のユーザーのデータを取得できます。一方、トークンに read:current_user スコープが含まれている場合は、現在ログイン中のユーザー (そのトークンの発行対象ユーザー) の情報のみを取得できます。
アクセストークンを取得する
- ブラウザーで実行されるSPA: 認可エンドポイントを使用します。
- サーバー上で実行されるWebアプリ、モバイルアプリ、サーバープロセス、または高い信頼性を持つアプリ: を使用します。
- クロス認証: リクエストが異なるドメインから送信される場合は、embedded Lock または auth0.js を使用してユーザーを認証します。
GET User by ID エンドポイントを使用して、ログイン中のユーザーの完全なプロファイル情報を取得します。そのために、まず Implicit グラントを使用してユーザーを認証し、トークンを取得します。以下は、ID トークンを取得してそれを使ってエンドポイントを呼び出す、従来の方法の実装例です。
以下の例では、アクセストークンを取得する新しい方法を確認できます。
Management API にアクセスできるアクセストークンを取得するには:
audienceをhttps://{yourDomain}/api/v2/に設定しますscopeとして${scope}を要求します- Auth0 が ID トークンとアクセストークンの両方を返すように、
response_typeをid_token tokenに設定します
aud には tenant の API URI、scope には ${scope}、sub にはログイン中のユーザー ID が設定されていることに注目してください。
アクセストークン を取得したら、それを使ってエンドポイント を呼び出せます。この部分は変わらず、request で変わるのは Bearer token として使用する値だけです。response も同じです。
トークンエンドポイント
GET User by ID エンドポイントを使用します。まず、Password Exchange グラントを使ってユーザーを認証し、その後トークンを取得します。以下は、ID トークンを取得し (その後、それを使ってエンドポイントを呼び出す) 従来のアプローチの実装例です。
以下の例では、アクセストークンも取得する新しい方法を確認できます。
Management API にアクセスできるアクセストークンを取得するには、次のようにします。
audをhttps://{yourDomain}/api/v2/に設定します- スコープ
read:current_userを要求します
Bearer トークンとして使う値だけです。レスポンスも同じです。
埋め込み Lock または auth0.js
-
レスポンスで ID トークン とアクセストークンの両方を要求します
responseType: 'token id_token' -
トークンのとして Management API を設定します
audience: 'https://YOUR_DOMAIN/api/v2/' -
必要な権限を要求します
scope: 'read:current_user' - アクセストークンを使用して Management API で認証します
アカウントリンクの変更点
-
Authorizationheader で ID トークンは使用できなくなりました -
Authorizationheader でアクセストークンを使用し、付与された権限がupdate:usersの場合は、リクエスト本文でセカンダリアカウントのuser_idまたは ID トークンのいずれかを送信できます -
Authorizationheader でアクセストークンを使用し、付与された権限がupdate:current_user_metadataの場合は、リクエスト本文でセカンダリアカウントの ID トークンのみを送信できます。この場合、次の条件を満たす必要があります。- ID トークンは
RS256で署名されている必要があります (この値は Auth0 Dashboard > アプリケーション > アプリケーション設定 > 詳細設定 > OAuth で設定できます) - ID トークンの
audクレームはアプリケーションを識別するものであり、アクセストークンのazpクレームと同じ値である必要があります
- ID トークンは
制限
aud クレームに設定できる値は 1 つのみです。トークンに複数の値が含まれている場合、Management API へのリクエストはエラーになります。