Skip to main content
Auth0 は、サードパーティアプリケーションに強化されたセキュリティ制御を適用し、以下を実現しています。
  • プロトコルレベルのセキュリティ: 最新の安全な認可フローを実現するため、OAuth 2.1 のベストプラクティス に準拠します。
  • 機能のスコープ: 外部アプリケーションが、明示的に認可したリソースにのみアクセスできるようにします。
Auth0 は、サードパーティアプリケーション向けのセキュリティを継続的に強化しています。本番環境では、サポート対象として明示的に文書化されている機能のみを使用してください。サポート対象外の機能は、今後の更新で予告なく変更または制限される場合があります。

OAuth 2.1 標準

サードパーティアプリケーションでは、最新の OAuth 標準を適用しています。
  • PKCE 必須: すべての認可コードフローで Proof Key for Code Exchange が必須です。これにより、認可コードの傍受攻撃を防止します。
  • サポートされるグラントタイプ: authorization_coderefresh_tokenclient_credentials
  • Implicit および password グラントは非対応: ブラウザーの URL にトークンが露出したり、認証情報を直接扱う必要があったりする従来のグラントタイプは、サードパーティアプリケーションでは利用できません。

明示的なAPI認可

サードパーティアプリケーションがAPIにアクセスするには、そのAPIのアクセスポリシーに関係なく、常にクライアントグラントが必要です。 サードパーティアプリケーションには、APIがすべて許可ポリシーに設定されている場合でも、明示的なグラントが必要です。アプリケーションごとの権限、またはサードパーティアプリケーションのデフォルト権限を設定できます。 サードパーティアプリケーションに、Management API や My Account API などのシステムAPIへのアクセスを許可することはできません。

マシン間 (クライアント資格情報)

サードパーティアプリケーションは、マシン間アクセス向けに client_credentials グラントタイプをサポートしています。これにより、ユーザーを介さずに、バックエンドのパートナー連携やサーバー間の API アクセスが可能になります。 要件と制約:
  • クライアントタイプ: アプリケーションは機密クライアントである必要があります (token_endpoint_auth_methodnone は指定できません) 。
  • Organizations: サポート対象です。詳細については、Organizations をお読みください。
  • Dynamic Client Registration または CIMD で作成されたアプリケーションでは利用できません。
拡張:
  • credentials-exchange トリガーを持つ Actions は、マシン間アクセスフローでも通常どおり実行されます。

Organizations

サードパーティアプリケーションは、ユーザーフローとマシン間アクセスの両方でOrganizationsをサポートしています。アクセスはオプトインです。
  • ユーザーフロー (認可コード) : Organizationでthird_party_client_access: allowを設定してオプトインし、ログインに使用する接続をドメインレベルに昇格させる必要があります。いずれかが欠けている場合、Auth0はinvalid_requestを返します。
  • マシンツーマシン (クライアント資格情報) : allow_any_organizationは使用できません。各Organizationは、明示的なorganization_client_grantによって認可する必要があります。
設定方法については、Organizationsへのアクセスを設定するを参照してください。

制限付きクライアント設定

サードパーティアプリケーションでは、設定できるクライアントプロパティが一部に限定されています。Auth0 に新しいプロパティが追加されても、明示的にレビューされてサポート対象に追加されない限り、サードパーティアプリケーションでは使用できません。 主なサポート対象プロパティは次のとおりです。 サポート対象プロパティの完全な一覧については、Management API リファレンスの Create a Client エンドポイント を参照してください。

Client ID の形式

サードパーティアプリケーションには、作成時に tpc_ プレフィックス付きの client_id が割り当てられます。このプレフィックスにより、Auth0 はサードパーティアプリケーションのトラフィックを個別に分類して管理でき、サードパーティアプリケーションに対するレート制限も別途適用できます。 セキュリティモードとアプリケーションの所有形態は、作成後に変更できない設計となっています。
  • third_party_security_mode は作成後に変更できません。
  • サードパーティアプリケーションをファーストパーティアプリケーションに変換することはできず、その逆もできません。

リフレッシュトークンの設定

サードパーティアプリケーションでは、安全性を考慮したリフレッシュトークン設定が適用されます。
  • 有効期限は必須: 無期限のリフレッシュトークンは使用できません。未使用時の有効期間を無期限にすることもできません。
  • 公開クライアントではデフォルトでローテーションが有効: SPA とネイティブのサードパーティアプリケーションでは、OAuth 2.1 および MCP の要件に準拠して、デフォルトでリフレッシュトークンのローテーションが有効になっています。
  • 設定可能: 管理者は、手動で作成したサードパーティアプリケーションのローテーション、猶予期間、有効期間の設定を調整できます。

リダイレクト保護

redirection_policy プロパティは、Auth0 がサードパーティアプリケーションへのリダイレクトをどのように処理するかを制御します。指定できる値は 2 つあります。 ユーザー操作を伴わないリダイレクトは、リダイレクト URI が信頼できない第三者によって管理されている場合、フィッシング攻撃の経路になる可能性があります (オープンリダイレクト) 。redirection_policyallow_always に設定するのは、構成されたコールバック URI を信頼できるアプリケーションだけにしてください。 open_redirect_protection が有効な場合:
  • 認証エラー時は、アプリケーションにリダイレクトする代わりにエラーページが表示されます。
  • メールテンプレート (メール確認、パスワードリセット、ユーザーブロック) からは {{ application.callback_domain }} にアクセスできないため、{{ application.callback_domain }} を使用する場合は、あわせてフォールバックを設定する必要があります。例:

/authorize パラメーターの検証

Auth0 は、サードパーティアプリケーションから /authorize エンドポイントに送信されるパラメーターを検証します。受け付けられるのは、標準の OAuth 2.0 および OpenID Connect のパラメーターのみです。 許可されるパラメーター:
  • acr_values
  • audience
  • authorization_details
  • client_id
  • code_challenge
  • code_challenge_method
  • connection
  • correlation_id
  • display
  • dpop_jkt
  • ext-* (カスタムパラメーター)
  • login_hint
  • max_age
  • nonce
  • prompt
  • redirect_uri
  • resource
  • response_type
  • scope
  • state
  • ui_locales
サポート対象外:
  • claims
  • id_token_hint
  • invitation
  • login_ticket
  • request (JAR)
  • request_uri (PAR)
  • screen_hint
サポート対象外のパラメーターを含むリクエストには、invalid_request エラーが返されます。

後方互換性

2026年4月より前からサードパーティアプリケーションを使用していた一部のテナントでは、後方互換性を保つため、異なるセキュリティ設定で動作するアプリケーションがある場合があります。詳しくは、サードパーティアプリケーション向けの許容モードをご覧ください。

サポートされていない機能

サードパーティアプリケーションでは、以下の機能はサポートされていません。

詳細はこちら