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

OAuth 2.1 標準

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

明示的な API 認可

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

マシン間通信 (Client Credentials)

サードパーティアプリケーションは、マシン間アクセス向けに client_credentials グラントタイプをサポートしています。これにより、ユーザーを介さずに、バックエンドでのパートナー連携やサーバー間の API アクセスが可能になります。 要件と制約:
  • クライアントタイプ: アプリケーションは機密クライアントである必要があります (token_endpoint_auth_methodnone にすることはできません) 。
  • 組織: 組織でのマシン間アクセスがサポートされています。各組織に対して、明示的な organization client grant が必要です。allow_any_organization オプションは、サードパーティアプリケーションでは使用できません。サードパーティアプリケーションのデフォルト クライアントグラント では、organization_usage を設定できません。
  • Dynamic Client Registration または CIMD で作成されたアプリケーションでは利用できません。
拡張性:
  • credentials-exchange トリガーを持つ Actions は、マシン間アクセスフローでも通常どおり実行されます。

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

サードパーティアプリケーションでは、制限された一部のクライアントプロパティのみ設定できます。Auth0 に新しいプロパティが追加されても、明示的にレビューされてサポート対象に追加されない限り、サードパーティアプリケーションでは使用できません。 主なサポート対象プロパティは次のとおりです。
プロパティ注記
name, description, logo_uri基本メタデータ
callbacksリダイレクト URI
allowed_origins, web_originsCORS および web_message のオリジン
grant_typesauthorization_coderefresh_tokenclient_credentials のいずれかである必要があります
token_endpoint_auth_methodトークンエンドポイントの認証方式
app_typeregular_webspanativenon_interactive のいずれかである必要があります
client_metadataカスタムのキーと値のメタデータ
jwt_configuration.lifetime_in_secondsアクセストークンの有効期間 (デフォルトは 3600)
jwt_configuration.alg署名アルゴリズム (RS256 のみサポート。HS256 はサポートされていません)
refresh_token.*ローテーション、有効期限、猶予期間、有効期間の設定
client_authentication_methodsPrivate Key JWT (private_key_jwt のみ。mTLS はサポートされません)
require_proof_of_possessionDPoP の設定
redirection_policyエラーフローおよびメールテンプレートのリダイレクト動作
サポートされているプロパティの完全な一覧については、Management API リファレンスの Create a Client endpoint を参照してください。

クライアントIDの形式

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

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

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

リダイレクト保護

redirection_policy プロパティは、Auth0 がサードパーティアプリケーションへのリダイレクトをどのように扱うかを制御します。指定できる値は次の 2 つです。
ValueBehavior
open_redirect_protection (default for third-party apps)Auth0 は、認証エラー時にアプリのコールバックへリダイレクトしません。application.callback_domain 変数はメールテンプレートで公開されません。
allow_always標準のリダイレクト動作。
ユーザーの操作を伴わないリダイレクトは、リダイレクト URI が信頼できない第三者に制御されている場合、フィッシング攻撃の経路になる可能性があります (オープンリダイレクト) 。redirection_policyallow_always に設定するのは、構成済みのコールバック URI を信頼できるアプリケーションに限ってください。 open_redirect_protection が有効な場合:
  • 認証エラーが発生すると、アプリケーションにリダイレクトする代わりにエラーページが表示されます。
  • メールテンプレート (メールアドレスの確認、パスワードのリセット、ユーザーのブロック) では {{ application.callback_domain }} にアクセスできません。そのため、{{ application.callback_domain }} を使用する場合は、必ずフォールバックもあわせて設定する必要があります。例:
{% if application.callback_domain == '' %}
  https://YOUR_FALLBACK_DOMAIN
{% endif %}
{% if application.callback_domain != '' %}
  {{ application.callback_domain }}/result-page
{% endif %}

/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 月以前からサードパーティアプリケーションを使用している一部のテナントでは、後方互換性を維持するため、アプリケーションが異なるセキュリティ設定で動作している場合があります。詳細については、Permissive Mode for Third-Party Applications を参照してください。

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

以下の機能は、サードパーティアプリケーションではサポートされていません。
機能ステータス
OIDC スコープとIDトークンサポートされていません。今後のリリースで対応予定です。
/userinfo エンドポイントサポートされていません。
Auth0 system APIs (Management API, MFA API, My Account API, My Orgs API)サポートされていません。サードパーティアプリケーションは、ユーザーフロー内で システム API にアクセスできません。
リフレッシュトークン交換中のMFAサポートされていません。MFA がトリガーされるリフレッシュトークンのトランザクションではエラーが発生します。
Rulesサポートされていません。有効な Rules があるテナントでは、strict なサードパーティアプリケーションがログインフローをトリガーするとエラーが返されます。
Hooks (credentials-exchange)サポートされていません。有効な credentials-exchange Hook があるテナントではエラーが返されます。credentials-exchange の拡張機能は Actions に移行してください。
OAuth 以外の Authentication API エンドポイント (/dbconnections/*, /passwordless/*)サポートされていません。
レガシーエンドポイント (/delegation, /oauth/ro)サポートされていません。
SAML, WsFedサポートされていません。
Classic Loginサポートされていません。Universal Login を使用してください。
PAR, CIBA, Device Codeサポートされていません。今後のリリースで対応予定です。
ログアウトエンドポイントサポートされていません。トークンを失効するには POST /oauth/revoke を使用してください。
クロスオリジン認証サポートされていません。
バックチャネルログアウトサポートされていません。今後のリリースで対応予定です。
クライアントIDのインポートサポートされていません。
URL 内のワイルドカードサブドメインサポートされていません。コールバックURL、許可済みオリジン、Web オリジンには正確な URL を使用する必要があります。

詳細はこちら