メインコンテンツへスキップ
バージョン: 1.0 (現行)

限定早期アクセス

My Account API は限定早期アクセスで提供されています。アクセスをリクエストするには、Auth0 のアカウントマネージャーにお問い合わせください。Auth0 の製品リリースサイクルの詳細については、Product Release Stages を参照してください。
Auth0 My Account API は、ユーザーが自身のアカウント情報を管理するための専用エンドポイント群を提供します。お客様はこれらの API を使用して、アプリケーションにセルフサービス機能を実装したり、ユーザーアカウントの情報を段階的に追加したりできます。 My Account API は現在ログインしているユーザーのコンテキストで動作し、ユーザー向けアプリケーション内で直接使用できます。

Auth0 ドメインとカスタムドメインの使い分け

My Account API では、標準の Auth0 ドメインまたはカスタムドメインを使用できますが、次の項目を含め、プロセス全体を通して同じドメインを使用する必要があります。
  • アクセストークンを取得する
  • audience の値を設定する
  • My Account API エンドポイントを呼び出す
詳細については、Custom Domains を参照してください。

My Account API を有効にする

Auth0 Dashboard では、テナントの My Account API を有効化できます。
  1. Authentication > APIs に移動します。
  2. My Account API のバナーを見つけます。
  3. Activate を選択します。
デフォルトでは、My Account API は次のアプリケーション API アクセスポリシーで作成されます。 require_client_grant (ユーザーフロー用) deny_all (クライアント (マシン間) フロー用) アプリケーションがユーザーに代わって My Account API にアクセスするには、そのアプリケーション用のクライアントグラントを明示的に作成する必要があります。これにより、アプリケーションが要求できる最大スコープを定義できます。あるいは、ユーザーアクセスフローのポリシーを allow_all に変更することもできます。これにより、テナント内の任意のアプリケーションが My Account API に対して任意のスコープを要求できるようになります。 My Account API では機微な情報や操作が公開されるため、Auth0 はユーザーアクセスフローで allow_all を使用することを推奨していません。My Account API では最小権限の原則に従い、各アプリケーションには本当に必要なアクセス権のみを付与して、潜在的なセキュリティリスクを最小限に抑えるようにしてください。 アプリケーションに最終的に付与される権限は、アプリケーション API アクセスポリシーで許可されるスコープ、エンドユーザーに割り当てられた Role-Based Access Control (RBAC) の権限、およびユーザーの同意 (該当する場合) の積集合によって決まります。

サポートされるフロー

My Account API へのクライアントアクセスに対するアプリケーション API ポリシーは更新できません。つまり、Client Credentials Flow を使用して My Account API にアクセスすることはできません。
アプリケーション API アクセスポリシーとそれに関連付けられたクライアントグラントの管理方法の詳細については、Application Access to APIs: Client Grants を参照してください。

アクセストークンを取得する

My Account API のアクセストークンは、自分の API 向けのアクセストークンを取得する場合と同じ方法で取得できます。

機微な操作

My Account API で機微な操作 (認証方法の登録など) を許可する場合は、多要素認証 (MFA) によって追加のセキュリティポリシーを適用するため、step-up authentication を使用することを強く推奨します。
Universal Login を使用している場合は、次の記事を参照してください。 埋め込みログインを使用している場合は、次の記事を参照してください。

Universal Login で認可コードフローを使用する

ステップ 1: 認可コードをリクエストする
curl --request GET \
  --url 'https://{yourDomain}/authorize?response_type=code&client_id={yourClientId}&redirect_uri=%7ByourRedirectUri%7D&scope=create%3Ame%3Aauthentication_methods&offline_access=&audience=https%3A%2F%2F{yourDomain}%2Fme%2F'
ステップ 2: code をアクセストークンに交換する
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{"grant_type": "authorization_code","client_id": "{yourClientId}","client_secret": "{yourClientId}","code": "{yourAuthorizationCode}","redirect_uri": "{yourRedirectUri}","audience": "{yourAudience}","scope": "create:me:authentication_methods","offline_access": ""}'

ネイティブパスキーを使用した埋め込みログイン

ステップ 1: ログイン用チャレンジをリクエストする
curl --request POST \
  --url 'https://{yourDomain}/passkey/challenge' \
  --header 'content-type: application/json' \
  --data '{"client_id": "{yourDomain}"}'
ステップ 2: 既存ユーザーを認証する
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{  "grant_type": "urn:okta:params:oauth:grant-type:webauthn",  "client_id": "{yourClientId}",  "scope": "create:me:authentication_methods offline_access",  "audience": "https://{yourDomain}/me/"  "auth_session": "{sessionIdFromTheFirstRequest}",  "authn_response": "{authenticatorResponse}"}'

レート制限

EA期間中、My Account API はテナント単位で毎秒 25 リクエストに制限されます。

認証

API の構成に応じて、Bearer トークンと DPoP トークンがサポートされます
セキュリティスキームのタイプ:http
HTTP 認証スキーム:bearer