前提条件
- Office 365 を設定する: を登録し、Auth0 で Office 365 をサードパーティ アプリケーションとして設定します。
Azure AD を設定する
- Azure Portal にログインします。
- 左側のナビゲーションで Azure Active Directory を選択します。
- 表示された新しいメニューで App registrations を選択します。
- New application registration をクリックします。
-
フォームに入力します。
- アプリケーションの名前 (
Auth0 Provisioningなど) を入力します。 - Application type として Web app / API を選択します。
- サインオン URL を入力します。有効な URL であればどれでもかまいません。これは実際には使用されません。
- アプリケーションの名前 (
- 新しく作成したアプリケーションが App registrations の一覧に表示されるので、それを選択します。
- Settings ブレード (Microsoft ではこれらのセクションを「blades」と呼びます) で、Keys を選択します。
-
Description (
Auth0 Provisionなど) を入力し、新しいキーの Duration を選択します。永続的でないキーを発行する場合は、有効期限を控えておき、期限切れになる前に新しいキーへ置き換えられるようリマインダーを設定してください。 - キーを保存してから、App Key をコピーします。このキーが表示されるのは 1 回だけで、Auth0 の Rule で必要になります。
- Required permissions を選択し、新しいブレードで Add をクリックします。
-
Microsoft Graph API を選択し、Application Permissions の下で
Read and write directory dataをチェックします。 - Required permissions に戻り、Grant Permissions ボタンをクリックしてから、要求された権限を付与するため Yes をクリックします。
Azure AD プロビジョニング Rule を作成する
- ユーザーが AD 接続から来ている場合は、プロビジョニング処理をスキップします (これは DirSync によって処理されるためです) 。
- ユーザーがすでに Azure AD にプロビジョニングされている場合は、そのままログイントランザクションを続行します。
- Azure AD のクライアントIDとキーを使用して、Graph API 用のアクセストークンを取得します。
- Azure AD にユーザーを作成します。
- ユーザーにライセンスを割り当てます。
- ログイントランザクションを続行します。
createAzureADUser 関数で生成され、既定では auth0-c3fb6eec-3afd-4d52-8e0a-d9f357dd19ab@fabrikamcorp.be 形式の username が作成されます。これは任意の値に変更できますが、すべてのユーザーで一意になるようにしてください。
構成オブジェクトで AUTH0_OFFICE365_CLIENT_ID、AAD_CUSTOM_DOMAIN、AAD_DOMAIN、AAD_APPLICATION_ID、AAD_APPLICATION_API_KEY に正しい値を設定し、それらの値を Rule コードで使えるようにしてください。詳細については、Rules の構成を保存する を参照してください。
コードを見ると、ユーザーがプロビジョニングされた後、Rule は約 15 秒待機することもわかります。これは、プロビジョニングされたユーザーが Office 365 で使用可能になるまでに数秒かかるためです。
このコードは新しいユーザーのプロビジョニング手順を示していますが、既存ユーザーのメタデータを同期するように変更することもできます。
ユーザーエクスペリエンス
https://office.travel0.com のような “スマートリンク” を使用) 。
これにより、まず Auth0 のログインページが表示され、その後 Office 365 にリダイレクトされます。Office 365 のログインページはこれらの外部ユーザーに対して Home Realm Discover をサポートしていないため、認証方法はこれだけであることを外部ユーザーに説明しておくことが重要です。つまり、ユーザーがリンクを開こうとした場合も、開こうとしたリンクにアクセスする前に、まず スマートリンク にアクセスする必要があります。
この例では、Travel0 は Auth0 で Office 365 のサードパーティアプリケーション向けに、いくつかのソーシャル接続と 1 つのデータベース接続を有効にしています。
ディープリンク
{yourCustomDomain} には、 用に Azure AD で設定したドメイン (例: travel0.com) を指定します。これを whr として指定すると、Azure AD はログインページを表示するのではなく、Auth0 にリダイレクトすべきだと判断します。
DEEP_LINK パラメーターには、Office 365 内のエンコード済み URL (たとえば、SharePoint Online や Exchange のページ) を指定します。
URL の例: