最初の組織を作成する
Organization機能を使用するには、まず、組織を作成して構成する必要があります。
利用可能性はAuth0プランによって異なる
この機能が利用できるかどうかは、ご利用のAuth0プラン(または契約)によります。詳細については、「価格設定」をお読みください。
組織を作成する
組織を作成する際には、定義する設定を使って、エンドユーザーが組織での認証に使用するログインページとメールテンプレートがカスタマイズされます。
そのままで使える設定不要のOrganizations(組織)を使用する場合には、これらの設定がユニバーサルログインページの設定を上書きします。ログインページやメールテンプレートのカスタマイズについては、「プロンプトとメールテンプレートをカスタマイズする」をお読みください。
組織の動作を定義する
Herokuなど、ユーザーが個人アカウントでログインするか、ビジネスアカウントに関連付けられた組織を選択するかによって動作が異なるアプリケーションをよくご存じかもしれません。Auth0を使用すると、アプリケーションレベルで似たような動作を組織に定義することができます。
Auth0で作成するアプリケーションごとに、エンドユーザーが直接ログインする必要があるのか、それとも、組織のコンテキストで認証する必要があるのかを決めることができます。ユーザーに組織を通したログインを要求するアプリケーションでは、ログインフローが提供されない場合にどうなるのかを指定することもできます。
アプリケーションの[Allowed Callback URLs(許可されたコールバックURL)]と[Allowed Origins (CORs)(許可されたオリジン(COR))]のアプリケーション設定も更新して、組織のサブドメインのプレースホルダーを含めることをお勧めします。
プロンプトとメールテンプレートをカスタマイズする
ユニバーサルログインのすぐに使えるプロンプトを使用して組織を使うときには、組織の作成時に構成するブランディング設定がユニバーサルログインページとメールテンプレートのブランディングをオーバーライドします。エンドユーザーが受信するメールとユニバーサルログインページをさらに変更したい場合には、ページとメールのテンプレートをカスタマイズすることができます。
ページテンプレート
ユニバーサルログインページを編集するには、Liquidテンプレート言語を使用してページテンプレートをカスタマイズしてから、ユニバーサルログインページテンプレートAPIを使ってテンプレートを適用します。詳細については、「ユニバーサルログインページテンプレート」をお読みください。
すべてのページには同じテンプレートが使用されるため、手間をかけずに一貫したログインージを実装することができます。
最もシンプルなテンプレートは以下のようになります。
<!DOCTYPE html>
<html>
<head>
{%- auth0:head -%}
</head>
<body>
{%- auth0:widget -%}
</body>
</html>
Was this helpful?
テンプレートには以下のタグが必要です。
auth0:widget
:それぞれのページタイプ(ログイン、パスワードのリセットなど)に表示されるウィジェットを構築するHTMLが含まれています。auth0:head
:ウィジェットをレンダリングするのに必要なタグが含まれています。
ウィジェットをページの中心に配置するには、<body>
タグを<body class="_widget-auto-layout">
に置き換えます。
メールテンプレート
エンドユーザーが受信するメールを変更するには、Liquidテンプレート言語とテンプレート変数を使用してメールテンプレートをカスタマイズします。詳細については、「メールテンプレートをカスタマイズする」をお読みください。
以下のメールテンプレートは、組織のためにさらにカスタマイズすることができます。
Welcome(ようこそ):エンドユーザーのメールアドレスが検証された後、またはメール検証が無効の場合にはサインアップ(または初めてログイン)したときに、エンドユーザーが受信します。
Password Change(パスワード変更):エンドユーザーがパスワードの変更を要求した際に受信します。パスワードリセットページにリダイレクトするリンクが含まれています。
Invite User(ユーザー招待):エンドユーザーが組織に招待された際に受信します。構成にあるデフォルトのログインルートにリダイレクトするリンクが含まれています。詳細については、「組織メンバーを招待する」を参照してください。
テンプレート変数
ページとメールのテンプレートは、テンプレートのレンダリング方法に影響を与える一連のコンテキスト変数を使用することがあります。
使用可能な変数のリストは、ページテンプレート変数については「ユニバーサルログインページテンプレート」を、一般的なメールテンプレート変数については「メールテンプレートをカスタマイズする」を参照してください。
ユーザーが組織を通してログインする場合には、ページテンプレートに以下の変数を追加で使用することができます。
organization.id
organization.display_name
organization.name
organization.metadata
organization.branding.logo_url
organization.branding.colors.primary
organization.branding.colors.page_background
組織メンバーシップを設定する
それぞれの組織には独自の関連メンバーがあり、それらのメンバーは、組織に設定されているログインページを通してログインし、アプリケーションにアクセスできるユーザーを表しています。
SaaSやB2Bアプリケーションは通常、分離された個別のユーザーではなく、チームに提供されます。このコンテキストでは企業全体、少人数の従業員の集まり(たとえば、マーケティング部門など)、または、ある目的のために一時的に組織されたユーザーグループ(たとえば、募金集めにチームとして競い合う、慈善活動のために集まった地元グループなど)でさえもチームになり得ます。
Auth0内の組織は柔軟性が高いため、これらすべてのユースケースに対応できますが、チームをサポートするアプリケーションを作成するには、ある程度の計画を立てる必要があります。最初に検討すべき事項の1つはチームメンバーシップの管理方法です。管理では以下を行うことができます。
有効な接続からログインしたユーザーにJust-In-Timeメンバーシップを付与する
メンバーの割り当てまたはメンバーの削除によって、Management APIまたはAuth0 Dashboardでメンバーシップを直接管理する
メンバーシップが定義されたら、組織のメンバーを取得またはユーザーの組織メンバーシップを取得できます。
メンバーにロールを割り当てる
それぞれの組織メンバーには1つ以上のロールを割り当てることができます。ロールはユーザーが組織を通してログインするときに適用されます。具体的には、組織メンバーのロールを追加、組織メンバーからロールを削除、または組織のメンバーロールを取得できます。ロールとそれに関連付けられた権限を使って、構築するアプリケーションへのアクセスを制御できます。ロールの詳細については、「Role-base Access Control」をお読みください。