組織機能を使い始めるには、組織を作成して設定する必要があります。
利用可否は Auth0 のプランによって異なります
この機能を利用できるかどうかは、Auth0 のプランまたはカスタム契約の内容によって異なります。詳しくは、料金を参照してください。
組織を作成すると、設定した内容に基づいて、組織のコンテキストで認証するエンドユーザーに表示されるログインページとメールテンプレートがカスタマイズされます。
組織を既定のまま使用する場合、これらの設定は ページの設定を上書きします。ログインページやメールテンプレートをさらにカスタマイズする方法については、プロンプトとメールテンプレートをカスタマイズするを参照してください。
Heroku のように、ユーザーが個人アカウントでログインするか、ビジネスアカウントに関連付けられた組織を選択するかに応じて動作が変わるアプリケーションをご存じかもしれません。Auth0 では、同様の組織の動作をアプリケーション レベルで定義できます。
Auth0 で作成する各アプリケーションについて、エンドユーザーが直接ログインするか、または組織のコンテキストでの認証を必須にするかを決定できます。ユーザーが組織経由でログインする必要があるアプリケーションでは、ログインフローに組織が指定されていない場合の動作も指定できます。
また、組織のサブドメイン用プレースホルダーを含めるために、アプリケーションの Allowed Callback URLs と Allowed Origins (CORs) の アプリケーション設定 を更新することもできます。
組織で Universal Login の標準プロンプトを使用する場合、組織を作成するときに設定したブランディング設定によって、Universal Login ページとメールテンプレートのブランディングが上書きされます。エンドユーザーに表示される Universal Login ページや受信するメールをさらに変更したい場合は、ページテンプレートとメールテンプレートをカスタマイズできます。
ページテンプレートのカスタマイズを利用するには、カスタムドメインを使用する必要があります。これは、いずれの有料プランでも利用できる機能です。
Universal Login のページを変更するには、Liquid テンプレート言語 とテンプレート変数を使用してページテンプレートをカスタマイズし、その後 Universal Login Page Templates API を使用してテンプレートを適用します。詳細については、Universal Login Page Templates を参照してください。
すべてのページで同じテンプレートが使用されるため、少ない手間で一貫性のあるログインページを実装できます。
作成できる最もシンプルなテンプレートは次のとおりです。
<!DOCTYPE html>
<html>
<head>
{%- auth0:head -%}
</head>
<body>
{%- auth0:widget -%}
</body>
</html>
テンプレートには、次のタグが含まれている必要があります。
auth0:widget: すべてのページタイプ (例: Login、Reset Password) で表示されるウィジェットの構造を定義するHTMLが含まれます。
auth0:head: ウィジェットのレンダリングに必要なタグが含まれます。
ページ内でウィジェットを中央に配置するには、<body> タグを <body class="_widget-auto-layout"> に置き換えます。
エンドユーザーに送信されるメールを変更するには、Liquid テンプレート言語 とテンプレート変数を使用して、メールテンプレートをカスタマイズします。詳細については、Customize Email Templates を参照してください。
次のメールテンプレートは、組織向けにさらにカスタマイズできます。
- Welcome: エンドユーザーがメールアドレス確認を完了した後、またはメールアドレス確認が無効になっている場合は、サインアップ時 (または初回ログイン時) に送信されます。
- Password Change: エンドユーザーがパスワードの変更をリクエストしたときに送信されます。パスワードリセットページにリダイレクトされるリンクが含まれます。
- Invite User: エンドユーザーが組織に招待されたときに送信されます。設定済みのデフォルトのログインルートにリダイレクトされるリンクが含まれます。詳細については、Invite Organization Members を参照してください。
ページテンプレートとメールテンプレートでは、一連のコンテキスト変数にアクセスでき、これらを使用してテンプレートのレンダリング方法を制御できます。
利用可能な変数の一覧については、ページテンプレート変数は Universal Login Page Templates、共通のメールテンプレート変数は Customize Email Templates を参照してください。
ユーザーが組織経由でログインする場合は、ページテンプレートで追加の変数を利用できます。
organization.id
organization.display_name
organization.name
organization.metadata
organization.branding.logo_url
organization.branding.colors.primary
organization.branding.colors.page_background
組織のパラメーターがメールテンプレートで利用可能になるのは、関連するメールが組織のコンテキストでトリガーされた場合のみです。たとえば、ユーザー招待メールは常に組織のコンテキストでトリガーされるため、そのテンプレートでは組織のパラメーターを常に利用できます。一方、ウェルカムメールは組織のコンテキストでトリガーされる場合とされない場合があるため、そのテンプレートで組織のパラメーターが常に利用できるとは限りません。
ログイン前に、Auth0 はユーザーが入力した組織名またはメールアドレスのドメインに基づいて、そのユーザーの組織を検出できます。組織をドメインに関連付けるには、組織ドメインを作成します。すると、Auth0 は自動的にユーザーを適切な IDプロバイダー (IdP) にルーティングします。
注: ユーザーはログイン時に、完全なメールアドレスまたは組織名を入力する必要があります。Auth0 はその情報を使用して、関連付けられた組織を判別します。
テナント管理者は、Auth0 Dashboard の 組織 の Domains セクション、または Management API を通じて、ドメインを追加および管理できます。
Auth0 Dashboard でドメインを追加するには:
- Auth0 Dashboard > Organizations に移動します。
- 組織の名前を選択し、Domains を選択します。
- Add Domain を選択します。
- ドメインを入力します (例:
travel0.com)
- 検証が完了すると、そのドメインは Verified として表示され、ログイン前の組織検出に使用されます。
ドメイン検出時に使用されるのは、検証済みのドメインのみです。保留中または未検証のドメインではルーティングは実行されません。
ドメイン検出がログイン動作にどのように影響するかについて詳しくは、Login Flows for Organizations を参照してください。
各組織にはそれぞれ関連するメンバーがおり、これらは組織で設定されたログインページからログインして、アプリケーションにアクセスできるユーザーを表します。
SaaS や B2B アプリケーションは、通常、個々のユーザーではなくチームに提供されます。この文脈では、チームとは、会社全体、小規模な従業員グループ (たとえばマーケティング部門) 、あるいは特定の目的のために編成された一時的なユーザーグループ (たとえば、慈善団体と協力するために登録し、ある目的のために最も多くの資金を集めることを競う近隣住民のグループ) を指す場合があります。
Auth0 の組織は、こうしたすべてのユースケースに対応できるだけの柔軟性を備えていますが、チームをサポートするアプリケーションを構築する際には、あらかじめ計画しておく必要があります。最初に検討すべきことの 1 つが、チームのメンバーシップをどのように管理するかです。これは、次の方法で実現できます。
メンバーシップを定義したら、組織のメンバーを取得する または ユーザーの組織メンバーシップを取得する ことができます。
各組織メンバーには 1 つ以上のロールを割り当てることができ、ユーザーが組織経由でログインしたときにそれらのロールが適用されます。具体的には、組織メンバーにロールを追加する、組織メンバーからロールを削除する、または組織のメンバーのロールを取得することができます。ロールとそれに関連付けられた権限を使用して、構築するアプリケーションへのアクセスを制御できます。ロールの詳細については、ロールベースのアクセス制御を参照してください。