Enterprise Connectionを設定してAuth0での認証をAzure Active Directoryと統合してみた

2022.03.09

こんにちは、CX事業本部 IoT事業部の若槻です。

Auth0では、Enterprise Connectionを設定することにより、外部のEnterprise Identity Providers上で管理されているIDを使用してAuth0アプリケーションへのログインが可能(統合認証)とすることが出来ます。

これにより例えば、既にある認証基盤のログイン情報をAuth0アプリケーションでもユーザーに利用させられるため、ユーザーエクスペリエンスの改善が期待できます。

今回は、Enterprise Connectionを設定してAuth0での認証をMicrosoft Azure Active Directory(Azure AD)と統合してみました。

やってみた

こちらのドキュメントに沿ってやっていきます。

Auth0にアプリケーションを登録する

認証をAzure ADに統合したいアプリケーションをAuth0に作成します。作成方法は下記を参考にしてください。

作成したアプリケーションの[Domain]を控えます。

Azure ADにアプリケーションを登録する

ユーザーの代わりにAzure ADに認証やユーザー情報を要求をするアプリケーションを作成します。

AzureポータルでHome > Azure Active Directoryで、[Add]-[App registration]をクリック。

[Supported account types]で適切なアクセス範囲を設定します。今回はテナント内のユーザーのみとするのでAccounts in this organizational directory onlyを選択。[Redirect URI]では、Webを選択し、https://AUTH0_APP_DOMAIN/login/callbackを指定します。(AUTH0_APP_DOMAINはAuth0アプリ作成時に控えたドメイン名)[Register]をクリック。

登録できました。登録したアプリケーションの[Application (client) ID]を控えます。

Azure ADアプリケーションのクライアントシークレット作成

登録したアプリケーションで[Certificates & secrets]を開き、[Client Secrets]で[New client secret]をクリック。

[Description]と[Expires]を適当に指定して[Add]をクリック。

シークレットの[Value]を控えます。

Auth0でのEnterprise Connectionの作成

Auth0 Dashboard > Authentication > Enterpriseを開き、Microsoft Azure ADをクリック。

[Create Connection]をクリック。

次のように設定をして、[Create]をクリックしてConnectionを作成します。

  • Connection name:任意の名前
  • Microsoft Azure AD Domain:Azure ADのドメイン。(Home > Azure Active Directoryで確認可能。)
  • Client ID:Azure ADアプリケーションのApplication (client) ID
  • Client Secret:Azure ADアプリケーションのクライアントシークレット
  • Use common endpoint:無効
  • Identity APIMicrosoft Identity Platform (v2)
  • Extended Attributes:選択なし
  • Auth0 APIs:選択なし
  • Sync user profile attributes at each login:有効
  • Email VerificationAlways set email_verified to 'false'

Auth0アプリケーションでのEnterprise Connectionの有効化

Auth0アプリケーションの[Connections]で先程作成したConnectionが表示されているので、有効化します。

Enterprise Connectionのテスト

Auth0 Dashboard > Authentication > Enterpriseを開き、Microsoft Azure ADをクリック。

作成したアプリケーションで[Try]をクリック。

Microsoftのサインインコンソールが表示されるので、Azure ADに登録されているユーザーでサインインをします。

初回はアクセス許可が求められるので[承諾]します。

次のように表示されればログイン成功です!

おわりに

Enterprise Connectionを設定してAuth0での認証をAzure Active Directoryと統合してみました。

私は今はすっかりAWSの人になってしまったので、Microsoftのドキュメントの読み込みというのを久しぶりにやりましたが、「これこれこの感じ!」ととても懐かしさを感じました。社内認証基盤としてActive Directoryが社内にすでにある会社は多いと思うので、その認証情報を新規アプリケーションでも使う場合に本記事が役にたつかと思います。

参考

以上