前提条件
-
Auth0にアプリケーションを登録します。
- 適切な [Application Type(アプリケーションタイプ)] を選択します。
{https://yourApp/callback}
の [Allowed Callback URL(許可されているコールバックURL)] を追加します。- アプリケーションの[Grant Types(付与タイプ)]に適切なフローが必ず含まれていることを確認してください。
手順
アプリケーションをOIDCのIDプロバイダーに接続するには、以下を行います。OIDCのIDプロバイダーでアプリをセットアップする
OIDCのIDプロバイダーを使用してユーザーがログインできるようにするには、でアプリケーションを登録する必要があります。このプロセスはOIDCのIDプロバイダーによって異なるため、プロバイダーのドキュメンテーションに従って作業を行う必要があります。 一般に、いずれかの時点で次のコールバックURLを入力するようにしてください:https://{yourDomain}/login/callback
リダイレクト用のAuth0ドメイン名を見つける
上記で、 カスタムドメイン機能を使っていないのにAuth0ドメイン名が表示されない場合は、ドメイン名がテナント名、地域のサブドメイン、および「
auth0.com
」をドット記号(「.
」)で区切って連結したものだからです。たとえば、テナント名が「exampleco-enterprises
」でテナントがUS地域にある場合、Auth0ドメイン名は「exampleco-enterprises.us.auth0.com
」、 Redirect URI(リダイレクトURI) は「https://exampleco-enterprises.us.auth0.com/login/callback
」になります。ただし、テナントがUS地域にあり、2020年6月よりも前に作成された場合、Auth0ドメイン名は「exampleco-enterprises.auth0.com
」、 Redirect URI(リダイレクトURI) は「https://exampleco-enterprises.auth0.com/login/callback
」になります。カスタムドメインを使っている場合、 Redirect URI(リダイレクトURI) は「https://<YOUR CUSTOM DOMAIN>/login/callback
」になります。Auth0でエンタープライズ接続を作成する
次に、Auth0でOIDCのエンタープライズ接続を作成・構成する必要があります。OIDCプロバイダーでアプリをセットアップする際に、 [Application (client) ID(アプリケーション(クライアント)ID)] と [(クライアントシークレット)] が生成されていることを確認してください。Auth0 Dashboardを使用してエンタープライズ接続を作成する
Auth0 Dashboardを介した構成を可能にするためには、OpenID Connect(OIDC)IDプロバイダー(IdP)がOIDC検出をサポートしている必要があります。それ以外の場合は、Management APIを使用して接続を構成できます。
-
[Auth0 Dashboard]>[Authentication(認証)]>[Enterprise(エンタープライズ)]に移動し、 Open ID Connect の[
+
]記号をクリックします。 -
接続の詳細を入力し、 [Create(作成)] をクリックします。
フィールド 説明 Connection name(接続名) 接続の論理識別子です。テナント内で一意でなければなりません。一度設定すると、この名前は変更できません。 OpenID Connect Discovery URL 広く認識されているOpenID Connect Discoveryエンドポイント をAuth0が見つけられるURLで、通常は /.well-known/openid-configuration
エンドポイントにあります。ベースURLまたは完全URLを入力できます。その場所で見つかった場合には緑のチェックマーク、見つからない場合には赤いチェックマークが表示されます。ファイルは見つかったものの、構成ファイルに必要な情報がない場合には、エラーメッセージが表示されます。詳細については、「OIDC Discoveryを使用してアプリケーションを構成するをお読みください。Communication Channel(通信チャネル) [Front Channel(フロントチャネル)]または[Back Channel(バックチャネル)] に設定します。フロントチャネルは使用するOIDCプロトコルに response_mode=form_post
とresponse_type=id_token
を指定します。バックチャネルはresponse_type=code
を使用します。Client ID(クライアントID) プロバイダーが提供する識別子です。登録したアプリケーションの一意の識別子です。OIDC IDプロバイダーに登録したアプリについて保存済みのクライアントIDの値を入力します。プロバイダーはそれぞれこの手順を独自の方法で管理しています。 Client Secret(クライアントシークレット) 上記で [Back Channel(バックチャネル)] を選択した場合にのみ使用できます。シークレットはプロバイダーが提供し、この手順を独自の方法で管理しています。 Callback URL Auth0が認証後にユーザーをリダイレクトするURLです。OIDC IDプロバーダーに登録したアプリには、必ずこの値を構成してください。 Sync user profile attributes at each login(毎回のログインでユーザープロファイル属性を同期する) 選択すると、ユーザーがログインするたびに、テナントは関連する name
、nickname
、given_name
、family_name
やpicture
のルート属性を更新します。 -
必要であれば、 [Settings(設定)] ビューで、他の構成を調整します。
フィールド 説明 Connection Name(接続名) この接続を作成した際に指定した名前。こちらは変更できません。 Connection Metadata(接続メタデータ) 前の画面で提供したWell-Known(広く使用されている)エンドポイントURLによって自動生成されますが、新しいメタデータファイルをアップロードすることで上書きすることができます。 Communication Channel(通信チャネル) [Front Channel(フロントチャネル)]または[Back Channel(バックチャネル)] に設定します。フロントチャネルはOIDCプロトコルを response_mode=form_post
とresponse_type=id_token
のパラメーターで使用します。バックチャネルはresponse_type=code
を使用します。Client ID(クライアントID) プロバイダーから提供された識別子。このステップの管理方法は、プロバイダーごとに異なります。 Client Secret(クライアントシークレット) プロバイダーから提供されたシークレット。このステップの管理方法は、プロバイダーごとに異なります。 Scopes(スコープ) IDプロバイダーに接続する際に、要求するAuth0のスコープがカンマ区切りでリストされます。これは、ユーザープロファイルに保管されているデータに影響を与えます。少なくとも1つの openid
スコープを含める必要があります。接続は/userinfo
エンドポイントを呼び出しません。また、id_token
にユーザークレームが含まれていることを予期します。Callback URL(コールバックURL) 一部のプロバイダーでは、OIDC接続を完了するためにこのURLが必要になります。 User Mapping(ユーザーマッピング) 特定のユーザー属性を接続変数にマッピングするためのテンプレートを提供します。 Connection Profile(接続プロファイル) 接続プロファイルの変更方法について理解するには、「OIDC接続のPKCEとクレームのマッピングを構成する」をお読みください。 -
[Provisioning(プロビジョニング)] ビューでユーザープロファイルがAuth0で作成および更新される方法を構成することができます。
フィールド 説明 Sync user profile attributes at each login(ログインごとにユーザープロファイル属性を同期する) 有効な場合、ユーザーがログインするたびにユーザープロファイルデータを自動的に同期するため、接続ソースで加えられた変更はAuth0で自動的に更新されます。 Sync user profiles using SCIM(SCIMを使ってユーザープロファイルを同期する) 有効な場合、SCIMを使ってユーザープロファイルデータを同期することができます。詳細については、「インバウンドSCIMを構成する」を参照してください。 -
[Login Experience(ログインエクスペリエンス)] ビューでこの接続でのユーザーログインの方法を構成することができます。
フィールド 説明 ホームレルムディスカバリー ユーザーのメールドメインを、指定されたIDプロバイダードメインと比較します。詳細については、[識別子優先認証の構成]を参照してください。(https://auth0.com/docs/ja-jp/authenticate/login/auth0-universal-login/identifier-first) 接続ボタンを表示 このオプションでは、アプリケーションの接続ボタンをカスタマイズするため次の選択肢が表示されます。 Button display name(ボタン表示名) (オプション) ユニバーサルログインのログインボタンをカスタマイズするために使用されるテキスト。設定されるとボタンは以下を読み取ります:“Continue with {Button display name}
”Button logo(ボタンロゴ)URL (任意) ユニバーサルログインのログインボタンをカスタマイズするために使用される画像のURL。設定されると、ユニバーサルログインのログインボタンは、20px×20pxの四角で画像を表示します。 任意のフィールドは、New Universal Loginでのみ使用することができます。Classic Loginを使用している場合、[Add(追加)]ボタン、ボタンの表示名、ボタンロゴのURLは表示されません。 - [Save Changes(変更の保存)] を選択します。
Management APIを使用してエンタープライズ接続を作成する
以下の例では、Auth0のを使用して接続を作成するさまざまな方法をご紹介します。接続は、メタデータのURIを入力するか、OIDCのURLを明示的に設定することで構成できます。詳細については、「IDプロバイダー」をお読みください。ディスカバリーエンドポイントでフロントチャネルを使用
ディスカバリーエンドポイントでバックチャネルを使用
バックチャネルを使って発行者の設定を指定
フロントチャネルを使って発行者の設定を指定
PKCEとクレームのマッピングを構成する
エンタープライズ接続では、PKCEや、属性とトークンのマッピングをサポートすることができます。詳細については、「OIDC接続のPKCEとクレームのマッピングを構成する」を参照してください。Auth0アプリケーションでエンタープライズ接続を有効化
新たなエンタープライズ接続を使うにはまずAuth0アプリケーションの接続を有効にする必要があります。接続をテストする
これで接続をテストする準備が整いました。発行者のメタデータを手動で構成する
発行者URLエンドポイントの [Show Issuer Details(発行者の詳細を表示)] をクリックすると、データが表示され、必要であれば調整することができます。Auth0とのフェデレーション
Connectのエンタープライズ接続は、別のAuth0テナントとのフェデレーションで大いに役立ちます。 [Issuer(発行者)] フィールドにAuth0テナントURL(たとえば、https://<tenant>.us.auth0.com
)を入力して、 [(クライアントID)] フィールドに、フェデレーション(連合)したいテナントのアプリケーションのクライアントIDを入力するだけです。
新しいテナントでは、URLの一部に
us
が使用されます。地域ドメインの追加前に作成されたテナントは引き続き動作します。たとえば、https://{あなたのアカウント}.auth0.com
などです。