
前提条件
Auth0 にアプリケーションを登録する:- Application Type で Native を選択します。
- Allowed Callback URL を追加します。コールバック URL の形式はプラットフォームによって異なります。お使いのプラットフォームでの形式の詳細については、Native Quickstarts を参照してください。
- アプリケーションの Grant Types に、適切なフローが含まれていることを確認します。
手順
リソース所有者フローを使用してアプリケーションを接続するには、次の手順を行う必要があります。- Microsoft Azure ポータルでアプリケーションを設定する。
- Auth0 でエンタープライズ接続を作成する。
- Auth0 アプリケーションでエンタープライズ接続を有効にする。
- 接続をテストする。
Microsoft Azure アカウント
先に進む前に、有効な Microsoft Azure アカウントが必要です。また、ご自身がグローバル管理者である Microsoft Azure AD ディレクトリを所有している必要があります。Microsoft Azure アカウントをお持ちでない場合は、無料でサインアップできます。必要に応じて、Microsoft の Quickstart: Azure Active Directory で新しいテナントを作成する - organization 用に新しいテナントを作成する に従って Azure AD ディレクトリを設定してください。また、Office 365 アカウントをお持ちの場合は、新しく作成する代わりに、そのアカウントの Azure AD インスタンスを使用できます。Office 365 アカウントの Azure AD インスタンスにアクセスするには、次の手順を実行します。
- Office 365 にサインインし、Office 365 管理センターに移動します。
- 左側のメニューにある Admin centers メニュードロワーを開き、Azure AD をクリックします。
Microsoft Azure ポータルでアプリケーションを設定する
新しいWebアプリケーションを登録する
Azure AD へのアプリケーションの登録方法については、Quickstart: Microsoft Docs の Microsoft identity platform でアプリケーションを登録するを参照してください。 アプリケーションを設定する際は、必ず次の設定を使用してください。- 外部の組織 (他の Azure AD ディレクトリなど) のユーザーにもアクセスを許可する場合は、Supported account types の設定で Accounts in any organizational directory (Any Azure AD directory - Multitenant) を選択します。
- Redirect URI の設定を求められたら、Web を選択し、コールバック URL として
https://{yourDomain}/login/callbackを入力します。
リダイレクト用の Auth0 ドメイン名を確認する
上記に Auth0 ドメイン名が表示されておらず、カスタムドメイン 機能も使用していない場合、ドメイン名はテナント名、リージョンのサブドメイン、
auth0.com をドット (.) でつないだ形式になります。たとえば、テナント名が exampleco-enterprises で、テナントが US リージョンにある場合、Auth0 ドメイン名は exampleco-enterprises.us.auth0.com となり、Redirect URI は https://exampleco-enterprises.us.auth0.com/login/callback になります。ただし、テナントが US リージョンにあり、2020 年 6 月以前に作成されている場合、Auth0 ドメイン名は exampleco-enterprises.auth0.com となり、Redirect URI は https://exampleco-enterprises.auth0.com/login/callback になります。カスタムドメイン を使用している場合、Redirect URI は https://<YOUR CUSTOM DOMAIN>/login/callback になります。API を公開するように Web アプリケーションを構成する
Azure AD で API を公開するように Web アプリケーションを構成する方法については、Quickstart: Microsoft Docs の「アプリケーションを構成して Web API を公開する」を参照してください。 アプリを構成する際は、必ず次の設定を使用してください。- Scope name の入力を求められたら、
API.Accessと入力します。
新しいネイティブアプリケーションを登録する
Azure でネイティブアプリケーションを登録する方法については、Microsoft Docs の Quickstart: Register an application with the Microsoft identity platformを参照してください。 アプリを設定する際は、必ず次の設定を使用してください。- 外部の組織 (他の Azure AD ディレクトリなど) のユーザーによる利用を許可する場合は、Supported account types の設定で Accounts in any organizational directory (Any Azure AD directory - Multitenant) を選択します。
- Redirect URI の設定を求められたら、
Public client/native (mobile & desktop)を選択し、コールバック URL を入力します。コールバック URL の形式はプラットフォームによって異なります。ご利用のプラットフォームでの形式について詳しくは、Native Quickstartsを参照してください。
ネイティブアプリケーションのClient Secretを作成する
の作成方法については、Quickstart: Configure a client application to access web APIs - Add Credentials to your web application (Microsoft Docs) を参照してください。 Client secret を生成し、その値を記録してください。後ほどこのチュートリアルで使用します。有効期限付きのSecretを設定する場合は、有効期限を必ず記録してください。サービスの中断を避けるため、その日までにキーを更新する必要があります。
ネイティブ アプリケーションの権限を追加する
Native アプリケーションに権限を追加する方法については、Quickstart: クライアント アプリケーションが Web API にアクセスするための構成 - Web API にアクセスする権限を追加する (Microsoft Docs) を参照してください。 Auth0 では、この構成を正しく機能させるために、必要最小限の権限 (Microsoft Graph API 用、および API を公開するよう構成した Web アプリケーション用) を有効にする必要があります。Microsoft Graph API の権限の詳細については、Microsoft Docs の Microsoft Graph permissions referenceを参照してください。 権限を設定する際は、Microsoft Graph API に対して次の設定を使用してください。-
権限の種類を求められたら、Delegated permissions を選択します。
- User で User.Read を選択すると、アプリでユーザーをサインインさせ、サインインしているユーザーのプロファイルを読み取れるようになります。
- Directory で Directory.Read.All を選択すると、アプリでサインインしているユーザーに代わってディレクトリ データを読み取れるようになります。
-
権限の種類を求められたら、Delegated permissions を選択します。
- API で API.Access を選択すると、アプリでユーザーに代わって API にアクセスできるようになります。
Auth0 で接続を設定する
Azure AD で両方のアプリケーションを作成したら、Auth0 の接続を設定できます。-
Auth0 Dashboard > Authentication > Enterprise に移動し、Microsoft Azure AD を見つけて、追加 (+) ボタンを選択します。

- 接続の詳細を入力し、Create を選択します。

Auth0アプリケーションでエンタープライズ接続を有効にする
新しい Azure AD エンタープライズ接続を使用するには、Auth0のアプリケーションで接続を有効にする必要があります。接続をテストする
これで、接続をテストする準備ができました。グループメンバーシップと高度なプロファイル情報
このネイティブフローでは、Auth0 は Azure AD から、Azure AD Web アプリケーション向けに発行されたを受け取ります。その結果、グループメンバーシップや高度なプロファイル情報の読み込みなどの機能は動作しなくなります。これは、Azure AD から受け取ったアクセストークンを、こうした追加情報を取得するために Azure AD Graph API へ問い合わせる用途に使えなくなるためです。 ただし、グループメンバーシップや高度なプロファイル情報が必要な場合は、要件に合わせて設定を変更できます。-
Azure で、Microsoft Graph API に対する追加の権限を使用するようネイティブアプリケーションを設定します。
-
権限の種類を尋ねられたら、Delegated permissions を選択します。
- Directory で Directory.AccessAsUser.All を選択すると、アプリがサインイン中のユーザーとしてディレクトリにアクセスできるようになります。
-
権限の種類を尋ねられたら、Delegated permissions を選択します。
-
Auth0 で、Azure AD のエンタープライズ接続を変更します。
-
Identity API で
Azure Active Directory (v1)を選択し、App ID URI には Azure AD Graph API の URI を入力します。
-
Identity API で