メインコンテンツへスキップ
Auth0 の機能で を使用するように設定するには、利用している機能によっては追加の手順が必要になる場合があります。たとえば、ログインページでカスタムドメインを使用したり、API を呼び出したりする前に、変更が必要になることがあります。 Auth0 をしばらく使用していて、後からカスタムドメインを有効にする場合は、以下で説明するように、既存のアプリを移行し、設定を更新する必要があります。これには、使用している VPN やファイアウォールの設定変更も含まれます。{yourDomain} で作成された既存のセッションは、カスタムドメインの使用を開始すると無効になるため、ユーザーは再度ログインする必要があることに注意してください。

前提条件

事前にカスタムドメインの設定と検証を完了しておく必要があります。

機能

機能参照セクション
カスタマイズされたログインページを使用する Universal LoginUniversal Login
アプリケーションに埋め込まれた Lock埋め込み Lock
Auth0 SPA SDK、Auth0.js、またはその他の Auth0 SDKAuth0 SPA SDK、Auth0.js、その他の SDK
Auth0 のメールおよび電話通知で使用するカスタムドメインメールおよび電話通知でカスタムドメインを使用する
ソーシャル IDプロバイダーソーシャル IDプロバイダーを設定する
カスタムドメインを使用する Google Workspace 接続Google Workspace 接続を設定する
API 用のアクセストークンを発行する、またはアプリケーションから Auth0 API にアクセスするAPI
SAML IDプロバイダーSAML IDプロバイダーを設定する
SAML アプリケーションSAML アプリケーションを設定する
Web Service Federation (WS-Fed) アプリケーションWS-Fed アプリケーションを設定する
Azure AD 接続Azure AD 接続を設定する
ADFS 接続ADFS 接続を設定する
Kerberos をサポートする AD/LAP 接続AD/LAP 接続を設定する

Universal Login

Auth0 Universal Login を使用していて、ログインページをカスタマイズしている場合は、カスタムドメインを使用するようにコードを更新する必要があります。カスタマイズせずにデフォルトのログインページを使用している場合は、変更する必要はありません。詳細については、Auth0 の を参照してください。 Lock for Web を使用している場合は、次のサンプルスクリプトに示すように、configurationBaseUrloverrides オプションを設定する必要があります。
var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
  //簡略化のためコードを省略
  configurationBaseUrl: config.clientConfigurationBaseUrl,
  overrides: {
  	__tenant: config.auth0Tenant,
  	__token_issuer: config.authorizationServer.issuer
  },
  //簡略化のためコードを省略
});
Universal Login ページで Auth0.js を使用する場合は、overrides オプションを設定する必要があります。
var webAuth = new auth0.WebAuth({
  clientID: config.clientID,
  domain: config.auth0Domain,
  //簡略化のためコードを省略
  overrides: {
  	__tenant: config.auth0Tenant,
  	__token_issuer: config.authorizationServer.issuer
  },
  //簡略化のためコードを省略
});
通常、Auth0.js および Lock ライブラリは、ドメインからテナント名 (/usernamepassword/login に必要) と Issuer (id_token の検証に必要) を取得します。ただし、プロキシを使用している Private Cloud のお客様、またはドメイン名がテナント名や Issuer と異なるカスタムドメイン名を使用しているお客様は、__tenant__token_issuer を使用して固有の値を指定できます。

埋め込み Lock

アプリケーションに埋め込んだ Lock for Web を使用している場合は、Lock の初期化時にカスタムドメインを使用するようにコードを更新する必要があります。また、configurationBaseUrl も適切な CDN URL に設定する必要があります。 CDN URL はリージョンによって異なります。https://cdn.[us|eu|au|jp].auth0.com を使用してください (us は米国、eu は欧州、au はオーストラリア、jp は日本) 。
CDN URL はリージョンによって異なります。2020 年 6 月 11 日より前に作成されたテナントで、リージョンが米国の場合は https://cdn.auth0.com を使用してください。欧州、オーストラリア、または日本の場合は、euaujp を追加してください。テナントが 2020 年 6 月 11 日より後に作成された場合は、リージョンが米国であれば https://cdn.us.auth0.com を使用してください。

Auth0 SPA SDK、Auth0.js、その他の SDK

Auth0 SPA SDKAuth0.js、またはその他の SDK を使用する場合は、カスタムドメインを使用して SDK を初期化する必要があります。たとえば、Auth0.js SDK を使用する場合は、次の設定が必要です。 Auth0 SPA SDK の場合: カスタムドメインを使用しており、Auth0.js を使用して Management API の操作を行う 場合は、以下の API セクションを参照してください。

メールおよび電話通知でカスタムドメインを使用する

Auth0 のメールまたは電話通知でカスタムドメインを使用するには、この機能を有効にする必要があります。
  1. Auth0 Dashboard > Branding > Custom Domains に移動します。
  2. Use Custom Domain in Emails トグルをオンにします。

ソーシャルIDプロバイダーを設定する

ソーシャル (IdP) でカスタムドメインを使用する場合は、IdP の Authorized Redirect URIs のリストを更新し、カスタムドメイン (https://login.northwind.com/login/callback など) を追加する必要があります。 カスタムドメインでは、Auth0 developer keys は使用できません。

Google Workspace 接続を設定する

Google Workspace 接続でカスタムドメインを使用する場合は、 クライアント設定の Authorized Redirect URI を更新する必要があります。Google Cloud Console で Credentials に移動し、一覧から OAuth クライアントを選択すると、アプリの 、シークレット、その他の項目を含む設定ページが表示されます。Authorized redirect URIs フィールドに、カスタムドメインを含む https://<YOUR-CUSTOM-DOMAIN>/login/callback 形式の URL (例: https://login.northwind.com/login/callback) を追加します。

APIs

API 識別子 (つまり audience) は変更されません。これは各 API に固有の一定値であり、慣例として URI が使われますが、トークンの取得に使用するドメインとは完全に無関係です。 Auth0 は、トークンの取得に使用したドメインを iss クレームに含むトークンを発行します。
Auth0 API
audience を指定する際は、カスタムドメインではなく、引き続きデフォルトのテナントドメイン名 (https://{yourDomain}/userinfohttps://{yourDomain}/api/v2/ など) を使用してください。デフォルトのテナントドメインを使用するのは、この箇所だけです。 すべてのリクエスト (つまり、トークンの取得と実際の API 呼び出し) で、同じドメインを使用する必要があります。カスタムドメイン経由で取得したトークンは、同じカスタムドメインを使用する Auth0 API に対して使用する必要があります。 カスタムドメインを使用する認証フローで、 をリクエストして にアクセスする場合は、Management API エンドポイントもカスタムドメインを使って呼び出す必要があります。
POST https://mycustomdomain.com/oauth/token
... // その他のパラメーター 
...
audience:https://defaulttenant.eu.auth0.com/api/v2/
アクセストークンのリクエストは、次のようになります
GET https://mycustomdomain.com/api/v2/clients

Headers:
Authorization: Bearer <access_token>
カスタム API
カスタムドメインを使用して Auth0 で API 用のアクセストークンを発行する場合は、 の Issuer をカスタムドメインに照らして検証する必要があります。たとえば、express-jwt ミドルウェアを使用している場合は、次のように変更する必要があります。
app.use(jwt({
  issuer: 'https://<YOUR-CUSTOM-DOMAIN>/',
  //簡略化のためコードを省略
}));

SAML IDプロバイダーを設定する

IDプロバイダー (IdP) でカスタムドメインを使用するには、IDプロバイダー側で Assertion Consumer Service (ACS) URL を更新する必要があります。IdP でサポートされている機能に応じて、方法は 2 つあります。
  1. Auth0 から https://<YOUR-CUSTOM-DOMAIN>/samlp/metadata?connection=<YOUR-CONNECTION-NAME> にアクセスして、サービスプロバイダーのメタデータを取得できます。ここには更新後の ACS URL が含まれます。その後、この値を IdP の設定で手動で更新する必要があります。この IdP 側の変更は、アプリケーションでカスタムドメインの使用を開始するタイミングと同時に行う必要があります。設定する IdP が複数ある場合は、これが問題になることがあります。
  2. IdP が対応している場合は、署名付きリクエストを使用してこの要件を満たすこともできます。
  • https://<TENANT>.auth0.com/pem から署名証明書をダウンロードします。なお、https://<YOUR-CUSTOM-DOMAIN>.com/pem でも同じ証明書が返されます
  • その証明書を IdP に渡し、アップロードしてもらいます。これにより、IdP は Auth0 から送信される AuthnRequest メッセージの署名を検証できるようになります
  • IdP は証明書をインポートし、必要に応じて署名検証を有効にします (具体的な手順は IdP によって異なります)
  • Dashboard の Connections > Enterprise > SAML > CONNECTIONSign Request トグルをオンにします。これにより、Auth0 は IdP に送信する SAML AuthnRequest メッセージに署名するようになります。
これが完了し、アプリケーションで認証リクエストを開始する際にカスタムドメインを使い始めると、IdP はその署名付きリクエスト内でカスタムドメインを受け取ります。アプリケーションからの署名付きリクエストは信頼されるため、IdP は通常、ACS URL として設定されている値を自動的に上書きし、署名付きリクエストで送信された値に置き換えます。ただし、署名付きリクエスト内の ACS URL を 受け入れない IdP もあるため、これがサポートされているかどうかを事前に確認する必要があります。 これがサポートされていれば、1 つまたは複数の IdP 設定を同時に変更する必要がなくなり、署名付きリクエストを受け入れられるよう事前に準備できます。その後、IdP 設定で静的に構成されている ACS URL は後から変更することもできます。 SAML IDプロバイダーがカスタムドメインを使用するように構成されている場合、Dashboard の Try ボタンを使った接続テストは 機能しません。また、Auth0 からメタデータをダウンロードする既定のリンクには、常にカスタムドメインではなく既定のドメインが表示されます。 IdP 開始の認証フローがある場合は、カスタムドメインを使用するために IdP とアプリケーションを同時に更新する必要があります。

SAML アプリケーションを設定する

SAML アプリケーションでカスタムドメインを使用する場合 (Auth0 が IdP の場合) は、Auth0 の新しい IDプロバイダー メタデータを使用してサービスプロバイダーを更新する必要があります。カスタムドメインを反映した更新済みのメタデータは、https://<YOUR-CUSTOM-DOMAIN>/samlp/metadata/<YOUR-CLIENT-ID> から取得できます。カスタムドメインを使用すると、Auth0 が返すアサーションの issuer エンティティ ID が変更される点に注意してください (urn:northwind.auth0.com のようなものから、urn:login.northwind.com のようにカスタムドメインを含むものに変わります) 。 IdP 開始の認証フローを使用している場合は、カスタムドメインを反映するように、その認証フローを呼び出す URL を更新する必要があります。https://<TENANT>.auth0.com/samlp/<YOUR-CLIENT-ID> の代わりに、https://<YOUR-CUSTOM-DOMAIN>/samlp/<YOUR-CLIENT-ID> を使用してください。

WS-Fed アプリケーションを設定する

Auth0 を IdP とする アプリケーションでカスタムドメインを使用する場合は、Auth0 から取得した新しい IDプロバイダー メタデータでサービスプロバイダーを更新する必要があります。カスタムドメインを反映したメタデータは、https://<YOUR-CUSTOM-DOMAIN>/wsfed/FederationMetadata/2007-06/FederationMetadata.xml から取得できます。

Azure AD 接続を設定する

Azure AD 接続でカスタムドメインを使用する場合は、Azure AD の設定で Allowed Reply URL を更新する必要があります。Azure Active Directory で Apps registrations に移動し、アプリを選択します。次に、Settings -> Reply URLs をクリックし、https://<YOUR-CUSTOM-DOMAIN>/login/callback の形式でカスタムドメインを含む URL (https://login.northwind.com/login/callback など) を追加します。

ADFS 接続を設定する

ADFS 接続でカスタムドメインを使用する場合は、ADFS の設定でエンドポイントを更新する必要があります。コールバック URL でカスタムドメインを使用するには、https://<YOUR-CUSTOM-DOMAIN>/login/callback (https://login.northwind.com/login/callback など) の形式に更新してください。

AD/LDAP 接続を設定する

Kerberos サポートが不要な場合、AD/LDAP 接続に追加の設定は必要ありません。 Kerberos サポート付きで AD/LDAP 接続を使用するには、カスタムドメインで動作するよう Ticket エンドポイントを更新する必要があります。Auth0 AD/LDAP Connector ドキュメントで説明されているように、config.json ファイルを編集し、PROVISIONING_TICKET の値を https://<YOUR-CUSTOM-DOMAIN>/p/ad/jUG0dN0R の形式でカスタムドメインを使用するよう変更する必要があります。 この変更を保存したら、反映するために AD/LDAP Connector サービスを再起動する必要があります。

詳細情報