Skip to main content
Authentication API を使用すると、Auth0 の利用時にユーザーのアイデンティティに関するあらゆる要素を管理できます。ユーザーのログイン、サインアップ、ログアウト、API へのアクセスなどを実現するためのエンドポイントが提供されます。 この API は、OpenID ConnectOAuth 2.0FAPISAML など、さまざまなアイデンティティプロトコルをサポートしています。
この API は、RESTful API との連携に慣れている方向けに設計されています。より手順に沿った方法をご希望の場合は、Quickstarts または Libraries をご覧ください。

ベースURL

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

認証方法

この API で認証する方法は、次の 5 つです。
  • OAuth 2.0 アクセストークン
  • Client ID とクライアントアサーション (機密アプリケーション)
  • Client ID と Client Secret (機密アプリケーション)
  • Client ID (パブリックアプリケーション)
  • mTLS 認証 (機密アプリケーション)

OAuth 2.0 アクセストークン

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

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

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

Client ID と Client Secret

Client ID と Client Secret を送信します。このデータの送信方法は、アプリケーションに設定されている Token Endpoint Authentication Method によって決まります。 Post を使用している場合は、このデータをリクエストの JSON ボディで送信する必要があります。 Basic を使用している場合は、Basic 認証方式を使って、このデータを Authorization header で送信する必要があります。資格情報の値を生成するには、Client ID と Client Secret をコロン (:) でつなげ、Base64 でエンコードします。 例として、Revoke Refresh Token endpoint があります。このオプションは、機密アプリケーションでのみ使用できます (たとえば、資格情報を権限のない第三者に公開することなく安全に保持できるアプリケーションです) 。

Client ID

Client IDを送信します。パブリックアプリケーション (SPAやモバイルアプリなど、資格情報を安全に保持できないアプリケーション) の場合は、Client IDだけでアクセスできるエンドポイントがいくつかあります。 その一例がImplicit Grantです。

mTLS 認証

証明書を生成します。自己署名または認証局署名付き証明書のいずれかを使用できます。次に、mTLS ハンドシェイクを実行する Customer Edge ネットワークを設定します。 エッジネットワークで証明書を検証したら、次のヘッダーを付けてリクエストを Auth0 のエッジネットワークに転送します。
  • カスタムドメインの API key を cname-api-key ヘッダーとして指定します。
  • クライアント証明書を client-certificate ヘッダーとして指定します。
  • クライアント証明書の CA 検証ステータスを client-certificate-ca-verified ヘッダーとして指定します。詳しくは、リクエストを転送するを参照してください。
詳しくは、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"}'
ただし、SAML IdP-Initiated シングルサインオン (SSO) フロー は例外で、クエリ文字列パラメーターと x-www-form-urlencoded の値を併用します。

テスト

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

Authentication API Debugger

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

接続を設定する

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

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

以下のオプションを使用して、他のエンドポイントを設定します。
  • パスワードレス: OAuth2 / OIDC タブで、connection=sms の場合は Username にユーザーの電話番号を、connection=email の場合はユーザーのメールアドレスを設定し、Password にはユーザーの確認コードを設定します。Resource Owner Endpoint をクリックします。
  • SAML SSO: Other Flows タブで SAML を選択します。
  • WS-Federation: Other Flows タブで WS-Federation を選択します。
  • Logout: Other Flows タブで Logout を選択するか、ユーザーをアイデンティティプロバイダーからもログアウトさせる場合は Logout (Federated) を選択します。
  • レガシー Login: OAuth2 / OIDC タブで、ID トークンリフレッシュトークンTarget Client ID の各フィールドを設定します。委譲 をクリックします。
  • レガシー Delegation: OAuth2 / OIDC タブで、UsernamePassword を設定します。Resource Owner Endpoint をクリックします。
  • レガシー Resource Owner: OAuth2 / OIDC タブで、UsernamePassword を設定し、Resource Owner Endpoint を選択します。

認証フロー

次のオプションで認証フローを設定します。
  • 認可コードフロー: OAuth2 / OIDC タブで、認可コード フィールドに Authorization Code Grant で取得したコードを設定し、Code Verifier フィールドにキーを入力します。OAuth2 Code Exchange をクリックします。
  • 認可コードフロー + PKCE: OAuth2 / OIDC タブで、認可コード フィールドに Authorization Code Grant で取得したコードを設定し、Code Verifier フィールドにキーを入力します。OAuth2 Code Exchange をクリックします。
  • クライアントクレデンシャルフロー: 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 を参照してください。 なお、データベース接続では、ユーザーアカウントと IP アドレスに応じて、特定の種類の繰り返されるログイン試行が Auth0 によって制限されます。詳細については、Rate Limits on User/Password Authentication を参照してください。

サポート

問題が発生した場合やサポートが必要な場合は、いつでもサポートまでお問い合わせいただけます。 Freeサブスクリプションプランをご利用で、22日間のトライアル期間外の場合は、Support Centerにアクセスしたり、サポートチケットを作成したりすることはできません。この場合は、Auth0 Communityを通じてサポートを受けることができます。サポートプログラムの詳細については、Support Optionsを参照してください。