URL の評価方法
{organization_name} プレースホルダーを含む URL は、次のすべての条件が満たされた場合にのみ評価されます。
- アプリケーションの
organization_usageがallowまたはrequireに設定されている - 組織のコンテキストでトランザクションが実行された (たとえば、organization パラメーターを指定して認可トランザクションを開始した場合:
/authorize?organization=org_bVss9Do3994SIbiH&…)
{organization_name} プレースホルダーを含む URL は、完全一致 URL (https://app.exampleco.com) およびワイルドカードを含む URL (https://*.exampleco.com) に加えて評価されます。URL の評価順序については、特定の順序を前提にしないでください。
アプリケーションの同じ設定フィールドに、ワイルドカードと組織プレースホルダーを含む URL を併せて登録することは避けてください。意図しない動作を招き、トラブルシューティングが難しくなるおそれがあります。たとえば、Allowed Callback URLs が https://*.exampleco.com と https://{organization_name}.exampleco.com の 2 つに設定されているアプリケーションを考えてみましょう。redirect_uri の値が https://company-a.exampleco.com の場合、テナントに company-a という名前の組織が登録されていなくても、有効と見なされます。これは、ワイルドカードプレースホルダーが評価されるためです。
ワイルドカード URL プレースホルダー
{organization_name} プレースホルダーを含む URL の使用を推奨しています。
これらの設定は、Dashboard > Applications > Applications の以下のフィールドで管理します。
- Allowed Callback URLs: ユーザーの認証後に Auth0 がリダイレクトできる URL の一覧。
- Allowed Logout URLs: ユーザーが Auth0 からログアウトした後にリダイレクトできる URL の一覧。
- Allows Web Origins: Cross-Origin Authentication、Device Flow、およびレスポンスモードとしての web_messageを使用する認可リクエストの送信元にできる URL の一覧。
- Allowed Origins (CORS): JavaScript から Auth0 API へのリクエスト送信を許可する URL の一覧 (通常は CORS で使用) 。
*) を使用できますが、正しく機能させるには次のルールに従う必要があります。
- URL のプロトコルは必ず
httpまたはhttpsでなければなりません。com.example.appやservice:jmx:rmiなどのプロトコルは動作しません。 - ワイルドカードは必ずホスト名コンポーネント内のサブドメインに配置する必要があります。
https://*.comは動作しません。 - ワイルドカードは必ずルートドメインから最も離れたサブドメインに配置する必要があります。
https://sub.*.example.comは動作しません。 - URL に含められるワイルドカードは1 つまでです。
https://*.*.example.comは動作しません。 - ワイルドカードの前後に、有効なホスト名文字を追加で付けることもできます。
https://prefix-*-suffix.example.comは動作します。 - 有効なワイルドカードを含む URL でも、ワイルドカード部分に 2 階層以上のサブドメインが入る URL とは一致しません。
https://*.example.comはhttps://sub1.sub2.example.comには一致しません。
組織URLのプレースホルダー
組織名プレースホルダー
{organization_name} を使用できます (https://{organization_name}.exampleco.com) 。{organization_name} プレースホルダーを含む URL は、完全に管理しているドメインでのみ使用してください。たとえば、exampleco.com ドメインを管理している場合、組織名のプレースホルダーは https://{organization_name}.exampleco.com になります。
これらの設定は、Dashboard > Applications > Applications の以下のフィールドで管理します。
- Allowed Callback URLs: ユーザーの認証後に Auth0 がリダイレクトできる URL の一覧。
- Allowed Origins (CORS): JavaScript から Auth0 API へのリクエストを許可する URL の一覧 (通常は CORS で使用) 。
{organization_name} プレースホルダーを使用する場合、次の制限が適用されます。
- URL のプロトコルは
http:またはhttps:である必要があります。com.example.app://{organization_name}.exampleco.comは動作しません。 - プレースホルダーは、ホスト名コンポーネント内のサブドメインに配置する必要があります。
https://{organization_name}とhttps://exampleco.com/{organization_name}はどちらも動作しません。 - プレースホルダーは、ルートドメインから最も遠いサブドメインに配置する必要があります。
https://sub.{organization_name}.exampleco.comは動作しません。 - URL に複数のプレースホルダーを含めることはできません。
https://{organization_name}.{organization_name}.exampleco.comは動作しません。 - プレースホルダーの前後に、有効な追加のホスト名文字を付けることはできません。
https://prefix-{organization_name}-suffix.exampleco.comは動作しません。 - URL 内でプレースホルダーをワイルドカードと組み合わせて使用することは できません。
https://{organization_name}.*.exampleco.comは動作しません。
組織メタデータのプレースホルダー
{organization.metadata.KEY} をプレースホルダーとして使用すると、現在のリクエスト内の組織に関連付けられたメタデータに基づいて、URL を動的に指定できます。これは、各組織がそれぞれ別のバニティドメインに対応している場合など、組織ごとに異なるログイン URI が必要なときに役立ちます。
KEY は public_ または PUBLIC_ で始まる必要があります (例: {organization.metadata.public_login_host}) 。この接頭辞がないキーは、セキュリティ上の理由から実行時に無視されます。
Auth0 は、アプリケーションのログイン URI (initiate_login_uri) でこのプレースホルダーをサポートしています。詳しくは、メタデータプレースホルダーを使用した動的ログイン URI を参照してください。
カスタムドメインのプレースホルダーに適用されるものと同じ検証ルールが、組織メタデータのプレースホルダーにも適用されます (プロトコル、配置、ネスト、ワイルドカードなし、データ型) 。
組織メタデータのプレースホルダーを使用するには、リクエストが組織コンテキスト内にある必要があります。組織が存在しない場合、プレースホルダーは解決されず、Auth0 はテナントレベルの
default_redirection_uri にフォールバックします。カスタムドメイン URL プレースホルダー
{custom_domain.metadata.KEY} をプレースホルダーとして使用すると、リクエストで使用されたカスタムドメインに関連付けられたメタデータに基づいて、URL を動的に指定できます。これにより、同じテナント内で、異なるアプリケーション URL を持つ複数のカスタムドメインをサポートできます。
この機能の詳細については、複数のカスタムドメイン を参照してください。
検証ルール
- Public プレフィックスが必要: プレースホルダーで使用するメタデータキーは、
public_またはPUBLIC_で始まる必要があります (例:{custom_domain.metadata.public_callback_subdomain}) 。このプレフィックスがないキーは、セキュリティ上の理由により実行時に無視されます。- プロトコル: URL のプロトコルは
httpまたはhttpsである必要があります。 - 配置場所: プレースホルダーは、ドメインまたはサブドメインの部分に配置する必要があります。URL パスでは使用できません。
- 有効:
https://{custom_domain.metadata.public_app_url}.example.com/login - 無効:
https://example.com/{custom_domain.metadata.public_path}
- 有効:
- ネスト: ネストされたメタデータプロパティにはアクセスできません。サポートされるのは最上位レベルのキーのみです。
- ワイルドカード不可: カスタムドメインのプレースホルダーを、同じ URL 内でワイルドカード (
*) と併用することはできません。 - データ型: カスタムドメインのメタデータ内の値は String である必要があります。キーが存在しない場合、または値が String でない場合、その URL は検証時に無視されます。
- プロトコル: URL のプロトコルは
対応しているフィールド
- Allowed Callback URLs
- Allowed Logout URLs
- Allowed Web Origins
- Allowed Origins (CORS)
- Application Login URI (
initiate_login_uri)。詳しくは、メタデータプレースホルダーを使用した動的ログイン URIを参照してください。
サードパーティアプリケーションでは、カスタムドメインのプレースホルダーはサポートされていません。
組織プレースホルダーと併用する
{organization_name} プレースホルダーと組み合わせて使用できます。両方のプレースホルダーは実行時に評価され、置き換えられます。