メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://auth0-fix-auth-api-docs-migration-completion.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

認証APIは、Auth0を使用する際に、ユーザーのアイデンティティのあらゆる側面を管理できるようにします。エンドポイントを提供するため、ユーザーはログイン、サインアップ、ログアウト、APIへのアクセスなどを行うことができます。 APIは、OpenID ConnectOAuth 2.0FAPISAMLなど、各種のアイデンティティプロトコルに対応しています。
このAPIは、RESTful APIとの統合に慣れている人を対象に設計されています。ガイドが便利だと思われる方は、クイックスタートライブラリーを試してみてください。

ベースURL

認証APIはHTTPSを使用します。このドキュメントで参照されているURLはすべて次のベースに従っています:https://{yourDomain}

認証方法

このAPIを使用した認証には、5つのオプションがあります:
  • OAuth2 アクセストークン
  • クライアントIDとクライアントアサーション(機密アプリケーション)
  • クライアントIDとクライアントシークレット(機密アプリケーション)
  • クライアントID(公開アプリケーション)
  • mTLS認証(機密アプリケーション)

OAuth2アクセストークン

Bearer認証スキームを使用して、有効なアクセストークンをAuthorizationヘッダーに含めて送信します。 たとえば、ユーザー情報取得エンドポイントなどです。このシナリオでユーザーのプロファイルを取得するには、ユーザーの認証時にアクセストークンを取得し、そのトークンをAuthorizationヘッダーに含めてユーザー情報取得エンドポイントに要求を送信します。

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

認証するために、署名済みのJSON Web Token(JWT)を含むクライアントアサーションを生成します。要求本文には、クライアントID、urn:ietf:params:oauth:client-assertion-type:jwt-bearerの値を持つclient_assertion_typeパラメーター、署名済みのアサーションを指定するclient_assertionパラメーターを含めます。例については、「秘密鍵JWT」を参照してください。

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

クライアントIDとクライアントシークレットを送信します。このデータの送信に使用できるメソッドは、アプリケーションに構成されているトークンエンドポイントの認証方法により決定されます。 Postを使用している場合には、このデータを要求のJSON本文に含めて送信する必要があります。 Basicを使用している場合には、Basic認証スキームを使用して、このデータをAuthorizationヘッダーに含めて送信する必要があります。資格情報の値を生成する際には、クライアントIDとクライアントシークレットをコロン(:)で区切って連結し、Base64でエンコードします。 たとえば、リフレッシュトークン取り消しエンドポイントなどです。このオプションの使用は、機密アプリケーション(資格情報を認可されていないサードパーティーに公開することなく、安全に保持できるアプリケーションなど)のみに限定されます。

クライアントID

クライアントIDを送信します。公開アプリケーション(SPAやモバイルアプリなど、資格情報を安全に保持できないアプリケーション)については、クライアントIDのみでアクセス可能なエンドポイントをいくつか提供しています。 たとえば、暗黙的付与などです。

mTLS認証

自己署名または認証局署名の証明書を生成します。そして、mTLSハンドシェイクを行うカスタマーエッジネットワークをセットアップします。 エッジネットワークが証明書を検証すると、次のヘッダーを使用して、要求がAuth0のエッジネットワークに転送されます:
  • カスタムドメインのAPIキーをcname-api-keyヘッダーに含める
  • クライアント証明書をclient-certificateヘッダーに含める
  • クライアント証明書のCA検証ステータスをclient-certificate-ca-verifiedヘッダーに含める。詳細については、「要求を転送する」を参照してください。
詳しい説明については、「mTLSで認証する」をお読みください。

パラメーター

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

サンプルコード

それぞれのエンドポイントには、次の3つの形式でサンプルのスニペットが提供されています:
  • HTTP要求
  • Curlコマンド
  • JavaScript:エンドポイントによって、スニペットにはAuth0.jsライブラリー、Node.jsコードまたは簡素なJavaScriptが使用されます
要求はそれぞれ、application/jsonのコンテンツタイプで送信する必要があります。

テスト

エンドポイントはAuthentication API Debuggerを使用してテストすることができます。

Authentication API Debugger

Authentication API DebuggerはAuth0の拡張機能で、使用すると、認証APIにあるいくつかのエンドポイントをテストすることができます。 デバッガーをインストール この拡張機能がすでにインストールされている場合には、スキップして、Authentication API Debuggerへ進んでください。 このリンクはテナントの地域に応じて異なります:米国西部、中央ヨーロッパまたはオーストラリア。テナントの地域の詳細については、「テナントの作成」を参照してください。

接続を構成する

  1. *[構成]*タブで、[アプリケーション]フィールド(テストに使用するアプリケーションを選択)と[接続](使用するソーシャル接続の名前)を設定します。
  2. Callback URLをコピーして、アプリケーションの設定にある**[許可されているコールバックURL]**に追加します。
  3. *[OAuth2 / OIDC]*タブで、**[OAuth2 / OIDCログイン]**を選択します。

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

他のエンドポイントを次のオプションで構成します:
  • パスワードレス:*[OAuth2 / OIDC]*タブで、**[ユーザー名]connection=smsの場合にはユーザーの電話番号、connection=emailの場合にはユーザーのメールを設定し、[パスワード]にユーザーの確認コードを設定します。[リソース所有者エンドポイント]**をクリックします。
  • SAML SSO:*[他のフロー]*タブで、**[SAML]**を選択します。
  • WS-Federation:*[他のフロー]*タブで、**[WS-Federation]**を選択します。
  • ログアウト:*[他のフロー]*タブで、**[ログアウト]を選択するか、IDプロバイダーからもログアウトさせる場合には[ログアウト(フェデレーション)]**を選択します。
  • レガシーログイン:*[OAuth2 / OIDC]*タブで、[IDトークン][リフレッシュトークン]、**[対象クライアントID]を設定します。[委任]**をクリックします。
  • レガシーの委任:*[OAuth2 / OIDC]*タブで、**[ユーザー名][パスワード]を設定します。[リソース所有者エンドポイント]**をクリックします。
  • レガシーのリソース所有者:*[OAuth2 / OIDC]*タブで、**[ユーザー名][パスワード]を設定してから、[リソース所有者エンドポイント]**を選択します。

認証フロー

認証フローを次のオプションで構成します:
  • 認可コードフロー:*[OAuth2 / OIDC]*タブで、**[認可コード]フィールドに認可コード付与で取得したコードを設定し、[コード検証]にキーを設定します。[OAuth2コード交換]**をクリックします。
  • 認可コードフロー+PKCE:*[OAuth2 / OIDC]*タブで、**[認可コード]フィールドに認可コード付与で取得したコードを設定し、[コード検証]にキーを設定します。[OAuth2コード交換]**をクリックします。
  • クライアント資格情報フロー:*[OAuth2 / OIDC]*タブで、**[OAuth2クライアント資格情報]**を選択します。

エラー

エラーが発生すると、エラーオブジェクトを受け取ります。ほとんどのエラーオブジェクトにはエラーコードとエラーの説明が含まれているため、アプリケーションは効率よく問題を特定することができます。 4xx HTTP応答コードを受け取った場合には、送信した要求が不正であったと考えて間違いありません。 5xxエラーはAuth0側での問題を示唆しているため、Auth0のステータスページTwitterの@auth0statusでシステムの状態を確認してください。 その他の場合には、Auth0サポートのオプションを使用することができます。

レート制限

認証APIはレート制限の対象になります。制限はエンドポイントによって異なります。 エンドポイントで指定のレート制限を超過すると、次のメッセージを含む429 Too Many Requests(要求が多すぎます)応答を受け取ります:Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. レート制限の詳細については、「Auth0 APIのレート制限ポリシー」を参照してください。 データベース接続の場合、ユーザーアカウントやIPアドレスによっては、ある種のログイン試行の反復が制限されます。詳細については、「ユーザー/パスワード認証でのレート制限」を参照してください。

サポート

問題が発生したり、何かでお困りの場合には、サポートに問い合わせることができます。 22日間のトライアル期間以外の無料サブスクリプションプランでは、サポートセンターの使用やチケットの作成はご利用いただけません。その場合には、Auth0 Communityにご質問ください。サポートプログラムの詳細については、「サポートのオプション」を参照してください。