メインコンテンツへスキップ
Authentication API を使用すると、Auth0 の利用時にユーザーアイデンティティのあらゆる側面を管理できます。ユーザーによるログイン、サインアップ、ログアウト、API へのアクセスなどを実現するためのエンドポイントを提供します。 この API は、OpenID ConnectOAuth 2.0FAPISAML などのさまざまなアイデンティティプロトコルをサポートしています。
この API は、RESTful API との統合に慣れている方向けに設計されています。より手順に沿った方法を希望する場合は、クイックスタート または ライブラリ を参照してください。

ベース URL

Authentication API は HTTPS 経由で提供されます。ドキュメント内で参照されるすべての URL のベースは次のとおりです: https://{yourDomain}

認証方法

このAPIで認証する方法は5つあります。
  • OAuth2 アクセストークン
  • クライアントIDとクライアントアサーション (機密アプリケーション)
  • クライアントIDとクライアントシークレット (機密アプリケーション)
  • クライアントID (公開アプリケーション)
  • mTLS認証 (機密アプリケーション)

OAuth2 アクセストークン

Bearer 認証方式を使用して、有効なアクセストークンを Authorization ヘッダーに含めて送信します。 例として、Get User Info endpoint があります。このシナリオでは、ユーザーを認証するとアクセストークンを取得でき、その後、そのトークンを Authorization ヘッダーに含めて Get User Info endpoint にリクエストを送信し、ユーザーのユーザープロファイルを取得できます。

クライアントIDとクライアントアサーション

認証するには、署名付き JSON Web Token (JWT) を含む client assertion を生成します。リクエスト本文には、クライアントID、値 urn:ietf:params:oauth:client-assertion-type:jwt-bearer を指定した client_assertion_type パラメーター、および署名付きアサーションを指定した client_assertion パラメーターを含めます。例については、Private Key JWT を参照してください。

クライアントIDとクライアントシークレット

クライアントIDとクライアントシークレットを送信します。このデータの送信方法は、アプリケーションに設定されている Token Endpoint Authentication Method によって決まります。 Post を使用している場合は、このデータをリクエストのJSONボディで送信する必要があります。 Basic を使用している場合は、Basic 認証スキームを使用して、このデータを Authorization ヘッダーで送信する必要があります。認証情報の値を生成するには、クライアントIDとクライアントシークレットをコロン (:) で連結し、Base64でエンコードします。 例として、Revoke Refresh Token endpoint があります。このオプションは、機密アプリケーション (認可されていない第三者に公開することなく、認証情報を安全に保持できるアプリケーションなど) でのみ使用できます。

クライアントID

クライアントIDを送信してください。公開アプリケーション (SPA やモバイルアプリなど、認証情報を安全に保持できないアプリケーション) の場合は、クライアントIDのみでアクセスできるエンドポイントがいくつか用意されています。 その一例が Implicit Grant です。

mTLS 認証

証明書を生成します。自己署名証明書または認証局署名証明書のいずれかを使用します。次に、mTLS ハンドシェイクを実行するカスタマーエッジネットワークを設定します。 エッジネットワークで証明書を検証したら、以下のヘッダーを付与してリクエストを Auth0 エッジネットワークに転送します。
  • cname-api-key ヘッダーとしてカスタムドメインの API キー。
  • client-certificate ヘッダーとしてクライアント証明書。
  • client-certificate-ca-verified ヘッダーとしてクライアント証明書の CA 検証ステータス。詳細については、リクエストを転送するを参照してください。
詳細については、mTLS で認証するを参照してください。

パラメーター

GET リクエストでは、パスセグメントとして指定されていないパラメーターは、HTTP クエリ文字列パラメーターとして渡すことができます。 GET https://{yourDomain}/some-endpoint?param=value&param=value POST リクエストでは、URL に含まれていないパラメーターを、Content-Type を application/json として JSON でエンコードする必要があります。 curl --request POST --url 'https://{yourDomain}/some-endpoint' --header 'content-type: application/json' --data '{"param": "value", "param": "value"}'
例外は、クエリ文字列パラメーターと x-www-form-urlencoded の値の両方を使用する SAML IdP-Initiated シングルサインオン (SSO) フロー です。

コードサンプル

各エンドポイントについて、利用可能な次の 3 つの形式のサンプルスニペットを掲載しています。
  • HTTP リクエスト
  • Curl コマンド
  • JavaScript: エンドポイントに応じて、各スニペットでは Auth0.js library、Node.js コード、またはシンプルな JavaScript を使用する場合があります
各リクエストは、Content-Type を application/json に設定して送信する必要があります。

テスト

Authentication API Debugger を使用して、エンドポイントをテストできます。

Authentication API Debugger

Authentication API Debugger は、Authentication API の複数のエンドポイントをテストするために使用できる Auth0 の拡張機能です。 Debugger をインストール この拡張機能をすでにインストールしている場合は、Authentication API Debugger にスキップしてください。 リンクは、テナントのリージョン (US West、Europe Central、または Australia) によって異なります。テナントのリージョンの詳細については、Create Tenants を参照してください。

接続を設定する

  1. Configuration タブで、Application フィールド (テストに使用するアプリケーションを選択) と Connection フィールド (使用するソーシャル接続の名前) を設定します。
  2. Callback URL をコピーし、Application SettingsAllowed Callback URLs に追加します。
  3. OAuth2 / OIDC タブで、OAuth2 / OIDC Login を選択します。

エンドポイントのオプション

以下のオプションを使用して、その他のエンドポイントを設定します。
  • パスワードレス: OAuth2 / OIDC タブで、connection=sms の場合は ユーザー名 にユーザーの電話番号を、connection=email の場合はユーザーのメールアドレスを設定し、パスワード にユーザーの確認コードを設定します。リソースオーナーエンドポイント をクリックします。
  • SAML SSO: その他のフロー タブで、SAML を選択します。
  • WS-Federation: その他のフロー タブで、WS-Federation を選択します。
  • ログアウト: その他のフロー タブで、ログアウト を選択します。IDプロバイダーからもユーザーをログアウトするには、ログアウト (フェデレーション) を選択します。
  • レガシー Login: OAuth2 / OIDC タブで、IDトークンリフレッシュトークンターゲット クライアントID の各フィールドを設定します。デリゲーション をクリックします。
  • レガシー デリゲーション: OAuth2 / OIDC タブで、ユーザー名パスワード を設定します。リソースオーナーエンドポイント をクリックします。
  • レガシー リソースオーナー: OAuth2 / OIDC タブで、ユーザー名パスワード を設定し、リソースオーナーエンドポイント を選択します。

認証フロー

次のオプションを使用して認証フローを設定します。
  • Authorization Code Flow: OAuth2 / OIDC タブで、Authorization Code フィールドに Authorization Code Grant から取得した認可コードを設定し、Code Verifier にキーを設定します。OAuth2 Code Exchange をクリックします。
  • Authorization Code Flow + PKCE: OAuth2 / OIDC タブで、Authorization Code フィールドに Authorization Code Grant から取得した認可コードを設定し、Code Verifier にキーを設定します。OAuth2 Code Exchange をクリックします。
  • Client Credential Flow: OAuth2 / OIDC タブで、OAuth2 Client Credentials を選択します。

エラー

エラーが発生すると、エラーオブジェクトが返されます。これらのエラーオブジェクトの多くには、アプリケーションが問題をより効率的に特定できるよう、エラーコードとエラーの説明が含まれています。 4xx HTTP レスポンスコードを受け取った場合は、リクエストに問題があると考えられます。 5xx エラーは Auth0 側の問題を示しているため、この場合は Auth0 Status PageTwitter の @auth0status を確認して、システムの稼働状況を確認してください。 それ以外の場合は、サポートオプション を利用してください。

レート制限

Authentication API にはレート制限が適用されます。制限値はエンドポイントごとに異なります。 特定のエンドポイントで設定されたレート制限を超えると、次のメッセージを含む 429 Too Many Requests レスポンスが返されます。Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. レート制限の詳細については、Auth0 API Rate Limit Policyを参照してください。 なお、データベース接続では、Auth0 はユーザーアカウントと IP アドレスに応じて、特定の種類の繰り返しログイン試行を制限します。詳細については、Rate Limits on User/Password Authenticationを参照してください。

サポート

問題が発生した場合や、ご利用中のケースについて支援が必要な場合は、いつでもサポートまでお問い合わせいただけます。 無料のサブスクリプションプランをご利用で、22日間のトライアル期間が終了している場合は、サポートセンターでチケットを閲覧したり、新規作成したりすることはできません。この場合は、Auth0 Communityでサポートを受けることができます。サポートプログラムの詳細については、サポートオプションを参照してください。