影響を受けるエンドポイント
| エンドポイント | ユースケース |
|---|---|
| GET /api/v2/users/ | ユーザーの情報を取得する |
| GET /api/v2/users//enrollments | ユーザーのGuardian MFA登録をすべて取得する |
| PATCH /api/v2/users/ | ユーザーの情報を更新する |
| DELETE /api/v2/users//multifactor/ | ユーザーのMFAプロバイダー設定を削除する |
| POST /api/v2/device-credentials | デバイスの公開鍵を作成する |
| DELETE /api/v2/device-credentials/ | デバイスの資格情報を削除する |
| POST/api/v2/users//identities | さまざまなIDプロバイダーからユーザーアカウントをリンクする |
| DELETE /api/v2/users//identities// | ユーザーアカウントのリンクを解除する |
アクション
スコープの変更
read:usersというスコープを含むアクセストークンを取得した場合、GET /api/v2/users/{id}エンドポイントを使用して任意のユーザーデータを取得することができます。しかし、トークンにread:current_userスコープが含まれる場合、現在ログインしているユーザー(トークンが発行されたユーザー)の情報のみ取得することができます。
| エンドポイント | 現在のユーザーのスコープ | 他のユーザーのスコープ |
|---|---|---|
| GET /api/v2/users/ | read:current_user | read:users |
| GET /api/v2/users//enrollments | read:current_user | read:users |
| POST/api/v2/users//identities | update:current_user_identities | update:users |
| DELETE /api/v2/users//identities// | update:current_user_identities | update:users |
| PATCH /api/v2/users/ | update:current_user_metadata | update:users |
| PATCH /api/v2/users/ | create:current_user_metadata | update:users |
| DELETE /api/v2/users//multifactor/ | delete:current_user_metadata | update:users |
| POST /api/v2/device-credentials | create:current_user_device_credentials | create:device_credentials |
| DELETE /api/v2/device-credentials/ | delete:current_user_device_credentials | delete:device_credentials |
アクセストークンの取得
- ブラウザーで動作するSPA :認可エンドポイントを使用する。
- サーバー、モバイルアプリ、サーバープロセスまたは信頼性の高いアプリで動作するWebアプリ :トークンエンドポイントを使用する。
- クロス認証 :異なるドメインから要求が来る場合、ユーザー認証には埋め込みのロックまたはauth0.jsを使用する。
GET User by IDエンドポイントを使用して、ログインユーザーの完全なプロファイル情報を取得します。そのために、まず、暗黙的付与を使用してユーザーを認証し、トークンを取得します。以下は、IDトークンを取得し、それを使用してエンドポイントを呼び出す、以前の方法の実装例です。
以下は、アクセストークンを取得する新しい方法の例です。
Management APIにアクセスできるアクセストークンを取得するには以下を行います。
audienceをhttps://{yourDomain}/api/v2/に設定する- スコープ
${scope}を要求する response_typeをid_token tokenに設定し、Auth0がIDトークンとアクセストークンの両方を送るようにする
audはテナントのAPI URI、スコープは${scope}、subはログインユーザーのユーザーIDに設定されています。
アクセストークンを取得したら、それを使ってエンドポイントを呼び出します。この部分は同じで、要求のうち、Bearerトークンとして使用する値を除き変更はありません。応答も同じです。
トークンエンドポイント
GET User by IDエンドポイントを使用して、ログインユーザーの完全なプロファイル情報を取得します。まず、パスワード交換の付与タイプを使ってユーザーを認証してから、トークンを取得します。以下は、IDトークンを取得する(そして、それを使用してエンドポイントを呼び出す)以前の方法の実装例です。
以下は、アクセストークンを取得する新しい方法の例です。
Management APIにアクセスできるアクセストークンを取得するには以下を行います。
audをhttps://{yourDomain}/api/v2/に設定する- スコープ
read:current_userを要求する
Bearerトークンとして使用する値を除き変更はありません。応答も同じです。
埋め込みのロックまたはauth0.js
-
応答でIDトークンとアクセストークンの両方を要求する
responseType:'token id_token' -
Management APIを意図したトークンのオーディエンスとして設定する
audience:'https://YOUR_DOMAIN/api/v2/' -
必要なアクセス許可を要求する
scope:'read:current_user' - アクセストークンを使ってManagement APIで認証する
アカウントリンクの変更
-
AuthorizationヘッダーにIDトークンを使用することはできなくなりました。 -
Authorizationヘッダーでアクセストークンを使用し、付与されたアクセス許可がupdate:usersの場合、要求のボディにはセカンダリアカウントのuser_idまたはIDトークンのいずれかを送信できます。 -
Authorizationヘッダーでアクセストークンを使用し、付与されたアクセス許可がupdate:current_user_metadataの場合、要求のボディにはセカンダリアカウントのIDトークンのみ送信できます。次のような条件があります。- IDトークンは
RS256を使用して署名される必要があります(この値は、[Dashboard]>[Applications(アプリケーション)]>[Application Settings(アプリケーションの設定)]>[Advanced Settings(高度な設定)]>[OAuth] から設定できます) - IDトークンの
audクレームは、アプリケーションを特定し、アクセストークンのazpクレームと同じ値でなければいけません。
- IDトークンは
制限
audクレームの値が1つのみである必要があります。トークンに複数の値がある場合、Management APIへの要求はエラーになります。