機能にカスタムドメインの使用を構成する
Auth0の機能にカスタムドメインの使用を構成する場合、使用している機能によっては追加の手順を完了する必要があります。たとえば、ログインページでカスタムドメインを使用したり、APIを呼び出したりするには、変更が必要になるかもしれません。
Auth0をしばらく使用していて、カスタムドメインを有効化することに決めた場合には、既存のアプリを移行して、VPNやファイアウォールなどを含む以下の設定を更新しなければなりません。カスタムドメインを使い始めると、{yourDomain}
で作成された既存のセッションが無効になるため、ユーザーに再ログインが求められます。
前提条件
カスタムドメインの構成と検証がすでに完了している
機能
機能 | 参照するセクション |
---|---|
カスタマイズされたログインページを使用したユニバーサルログイン | ユニバーサルログイン |
アプリケーションに組み込まれたLock | 組み込まれたLock |
Auth0 SPA SDK、Auth0.js、その他のAuth0 SDK | Auth0 SPA SDK、Auth0.js、その他のSDK |
Auth0メールのカスタムドメイン | メールにカスタムドメインを使用する |
ソーシャルIDプロバイダー | ソーシャルIDプロバイダーを構成する |
カスタムドメインを使用したGoogle Workspace接続 | Google Workspace接続を構成する |
APIにアクセストークンを発行、またはアプリケーションからAuth0 APIにアクセス | API |
SAML IDプロバイダー | SAML IDプロバイダーを構成する |
SAMLアプリケーション | SAMLアプリケーションを構成する |
Webサービスフェデレーション(WS-Fed)アプリケーション | WS-Fedアプリケーションを構成する |
Microsoft Entra ID接続 | Microsoft Entra ID接続を構成する |
ADFS接続 | ADFS接続を構成する |
Kerberosサポートを使用したAD/LAP接続 | AD/LAP接続を構成する |
ユニバーサルログイン
Auth0のユニバーサルログインを使用していて、ログインページをカスタマイズした場合には、カスタムドメインを使用するようにコードを更新しなければなりません。カスタマイズすることなく、デフォルトのログインページを使用している場合には、変更の必要はありません。詳細については、「Auth0のユニバーサルログイン」をお読みください。
Web用のLockを使用している場合には、configurationBaseUrl
とoverrides
のオプションを以下のスクリプト例のように設定しなければなりません。
var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
//code omitted for brevity
configurationBaseUrl: config.clientConfigurationBaseUrl,
overrides: {
__tenant: config.auth0Tenant,
__token_issuer: config.authorizationServer.issuer
},
//code omitted for brevity
});
Was this helpful?
ユニバーサルログインページにAuth0.jsを使用している場合には、overrides
オプションを設定する必要があります。
var webAuth = new auth0.WebAuth({
clientID: config.clientID,
domain: config.auth0Domain,
//code omitted for brevity
overrides: {
__tenant: config.auth0Tenant,
__token_issuer: config.authorizationServer.issuer
},
//code omitted for brevity
});
Was this helpful?
ほとんどの場合、Auth0.jsとLockライブラリーは、ドメインからテナント名(/usernamepassword/login
に必要)と発行者(id_token
の検証に必要)を取得します。ただし、プライベートクラウドでプロキシを使用しているか、テナントや発行者と異なる名前を持つカスタムドメインを使用している場合には、__tenant
や__token_issuer
を使って一意の値を渡すことができます。
埋め込まれたLock
アプリケーションにWeb用のLockを埋め込んで使用している場合には、Lockの初期化時にカスタムドメインが使用されるようにコードを更新しなければなりません。また、configurationBaseUrl
を適切なCDNのURLに設定する必要があります。
var lock = new Auth0Lock('{yourClientId}', '{yourCustomDomain}', {
//code omitted for brevity
configurationBaseUrl: 'https://cdn.us.auth0.com'
//code omitted for brevity
});
Was this helpful?
CDNのURLは地域によって異なります。https://cdn.[us|eu|au|jp].auth0.com
(アメリカにはus
、ヨーロッパにはeu
、オーストラリアにはau
、日本にはjp
)を使用します。
Auth0 SPA SDK、Auth0.js、その他のSDK
Auth0 SPA SDK、Auth0.jsまたはその他のSDKを使用している場合には、カスタムドメインの使用にSDKを初期化する必要があります。たとえば、Auth0.js SDKの使用では以下を設定します。
webAuth = new auth0.WebAuth({
domain: '{yourCustomDomain}',
clientID: '{yourClientId}'
});
Was this helpful?
Auth0 SPA SDKでは以下を設定します。
const auth0 = await createAuth0Client({
domain: '{yourCustomDomain}',
client_id: '{yourClientId}'
});
Was this helpful?
カスタムドメインを使用していて、Auth0.jsを用いたManagement APIのアクションを実行する予定の場合には、以下に記載のAPIセクションを参照してください。
メールにカスタムドメインを使用する
Auth0のメールにカスタムドメインを使用したい場合には、この機能を有効化する必要があります。
[Auth0 Dashboard]>[Branding(ブランディング)]>[Custom Domains(カスタムドメイン)]に移動します。
[Use Custom Domain in Emails(メールにカスタムドメインを使用する)]トグルを有効にします。
ソーシャルIDプロバイダーを構成する
ソーシャルIDプロバイダー(IdP)でカスタムドメインを使用したい場合には、IdPの[Authorized Redirect URIs(認可されているリダイレクトURI)]リストにカスタムドメイン(https://login.northwind.com/login/callback
など)を含めて更新する必要があります。
カスタムドメインにはAuth0の開発者キーは使用できません。
Google Workspace接続を構成する
Google Workspace接続でカスタムドメインを使用したい場合には、[OAuth Client Settings(OAuthクライアント設定)]の[Authorized Redirect URIs(認可されているリダイレクトURI)]リストを更新する必要があります。Google Developer Consoleで[Credentials(資格情報)]に移動し、使用しているOAuthクライアントをリストから選択すると、クライアントIDやシークレットなどのフィールドを含む設定ページが表示されます。[Authorized redirect URIs(認可されているリダイレクトURI)]フィールドにURLを追加します。URLにはhttps://<YOUR-CUSTOM-DOMAIN>/login/callback
の形式でカスタムドメイン(https://login.northwind.com/login/callback
など)を含めます。
API
API識別子(audience
)は変更されません。これはそれぞれのAPIに一定の値で、URIが標準的に使用されているにもかかわらず、トークンの取得に使用されるドメインとは完全に無関係です。
Auth0はトークンを発行するのに、トークンの取得に使用したドメインのiss
クレームを使用します。
Auth0 API
audience
を指定する際には、カスタムドメインではなく、使用しているデフォルトのテナントドメイン名(https://{yourDomain}/userinfo
、https://{yourDomain}/api/v2/
など)を使用します。ここが、デフォルトのテナントドメインを使用する唯一の場所です。
すべての要求(トークン取得や実際のAPI呼び出し)には同じドメインを使用する必要があります。カスタムドメインを通して取得したトークンは、その同じカスタムドメインでAuth0 APIに使用されなければなりません。
また、カスタムドメインを用いた認証フローを使って、Management APIへのアクセスにアクセストークンを要求する場合には、そのカスタムドメインでManagement APIを呼び出す必要があります。
POST https://mycustomdomain.com/oauth/token
... // other parameters
...
audience:https://defaulttenant.eu.auth0.com/api/v2/
Was this helpful?
アクセストークン要求は以下のようになるはずです。
GET https://mycustomdomain.com/api/v2/clients
Headers:
Authorization: Bearer <access_token>
Was this helpful?
カスタムAPI
Auth0でカスタムドメインを使ってAPIにアクセストークンを発行する場合には、JWTの発行者をカスタムドメインに照らし合わせて検証しなければなりません。たとえば、express-jwtミドルウェアの使用では、以下の変更を行う必要があります。
app.use(jwt({
issuer: 'https://<YOUR-CUSTOM-DOMAIN>/',
//code omitted for brevity
}));
Was this helpful?
SAML IDプロバイダーを構成する
SAML IDプロバイダー(IdP)でカスタムドメインを使用する場合には、IDプロバイダーでAssertion Consumer Service(ACS)のURLを更新する必要があります。これは、IdPでの対応に合わせて、以下のいずれかの方法で実行できます。
サービスプロバイダーのメタデータをAuth0から
https://<YOUR-CUSTOM-DOMAIN>/samlp/metadata?connection=<YOUR-CONNECTION-NAME>
を使って取得します。これには、更新済みのACS URLが含まれています。そして、IdPの設定でこの値を手動で更新します。IdPに対するこの変更は、アプリケーションでカスタムドメインの使用を始めるのと同時に行わなければなりません。構成するべきIdPが複数ある場合には、これが問題となる可能性があります。IdPに対応があれば、この要件を満たすのに、署名付きの要求を使用することができます。
署名証明書を
https://<TENANT>.auth0.com/pem
からダウンロードします。同じ証明書がhttps://<YOUR-CUSTOM-DOMAIN>.com/pem
からも返されることに注意してください。証明書をIdPにアップロードして提供します。これで、Auth0がIdPに送信する
AuthnRequest
メッセージの署名を、IdPが検証できるようになります。IdPが証明書をインポートして、必要であれば、署名の検証を有効化します(実際の手順はIdPによって異なります)。
Dashboardの[Sign Request(要求を署名する)]トグルをオンにします。これは[Connections(接続)]>[Enterprise(エンタープライズ)]>[SAML]>[CONNECTION(接続)]にあります。これで、Auth0がIdPに送信する
AuthnRequest
のSAMLメッセージが署名されるようになります。
これが完了して、アプリケーションで認証要求を開始したときにカスタムドメインが使用され始めると、IdPが署名付き要求でカスタムドメインを受け取ります。アプリケーションの署名付き要求は信頼されているため、IdPはACS URLとして構成されているものをすべて自動的にオーバーライドし、署名付き要求に含めて送られた値に置き換えます。ただし、署名付き要求内のACS URLを受け付けないIdPもあるため、まず、これが対応されているかを確認する必要があります。
対応されている場合には、1つ以上のIdPで設定が同時に変更できないため、署名付き要求の受け付けを事前に準備できるようになっています。また、後の時点で、静的に構成されたACS URLをIdPの設定で変更することもできます。
SAML IDプロバイダーでカスタムドメインの使用が構成されている場合、Dashboardの[Try(試す)]ボタンは動作しません。Auth0からメタデータをダウンロードするデフォルトのリンクとして、カスタムドメインではなく、デフォルトのドメインが表示されます。
IdP起点の認証フローがある場合には、カスタムドメインの使用について、IdPとアプリケーションを同時に更新する必要があります。
SAMLアプリケーションを構成する
SAMLアプリケーションでカスタムドメインを使用したい(Auth0がIdPである)場合には、Auth0からの新しいIDプロバイダーメタデータでサービスプロバイダーを更新する必要があります。カスタムドメインが更新されたメタデータは、https://<YOUR-CUSTOM-DOMAIN>/samlp/metadata/<YOUR-CLIENT-ID>
から取得することができます。Auth0から返されるアサーションの発行者エンティティ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アプリケーションを構成する
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(許可されている応答URL)]を更新する必要があります。Azure Active Directoryで[Apps registrations(アプリの登録)]に移動して、アプリを選択します。それから、[Settings(設定)]>[Reply URLs(応答URL)]を選択して、カスタムドメインのURLを追加します。URLにはhttps://<YOUR-CUSTOM-DOMAIN>/login/callback
の形式でカスタムドメイン(https://login.northwind.com/login/callback
など)を含めます。
ADFS接続を構成する
ADFS接続でカスタムドメインを使用したい場合には、ADFSの設定でエンドポイントを更新する必要があります。これには、コールバックURLがカスタムドメインを使用するように更新しなければなりません。URLにはhttps://<YOUR-CUSTOM-DOMAIN>/login/callback
の形式でカスタムドメイン(https://login.northwind.com/login/callback
など)を含めます。
AD/LDAP接続を構成する
Kerberosへの対応が不必要な場合には、AD/LDAP接続をそれ以上構成する必要はありません。
Kerberosに対応したAD/LDAP接続を使用するには、カスタムドメインと動作するようにチケットエンドポイントを更新しなければなりません。Auth0 AD/LDAPコネクターのドキュメントでも説明したように、config.json
ファイルを編集し、カスタムドメインを使用するように、PROVISIONING_TICKET
値をhttps://<YOUR-CUSTOM-DOMAIN>/p/ad/jUG0dN0R
形式の値に変更します。
この変更を保存したら、AD/LDAPコネクターサービスを再起動して、変更内容を適用する必要があります。