Azure Web App のユーザー認証を Azure AD B2C で行うために

はじめに

以前の記事では組織内で利用するアプリケーションを Web App でホストし、 Azure Active Directory で認証する方法を紹介しましたが、コンシューマーユーザーに対して Azure Active Directory B2C を使用して認証をさせることも可能です。通常の Azure AD と同じように B2C テナントにもローカルユーザーを登録することもできますし、Facebook ID、Microsoft Account、Google ID といったような代表的なソーシャル ID プロバイダーにユーザーを認証してもらうことも可能です。

構成手順の概要

Web App 側の構成方法は通常の Azure AD テナントの場合とほとんど同じですが、簡易モードではなく詳細モードを使用する必要があります。詳細モードで登録する情報は Azure AD B2C テナントでアプリケーション登録をして「アプリケーション ID」を取得、サインインポリシーを作成して認証用のエンドポイント URL を取得します。アプリケーション登録の際に Web App 側でトークンを受け取るためのコールバック用 URL を提供する必要がある点は同じです。

留意事項

上述のように Web App 側では認証プロバイダーが通常の Azure AD なのか Azure AD B2C なのかを意識することはほぼありません。ただ  B2C 用のテナントは通常の Azure AD テナントとは異なります。

  • 組織用の Azure AD テナントは別に B2C 用のテナントを作成する必要がある
  • 登録したアプリケーションごとに認証ポリシーを設定することができる
  • 各ポリシーごとに認証を委託する ID プロバイダーや収集するユーザー属性を指定することができる
  • Etc…

これらの設定変更は全て B2C 側の問題ですので、 Web App 側では考慮する必要がありませんが、属性情報等を利用するアプリケーションを開発する場合にはご注意ください。

参考情報

Active Directory B2C のドキュメント App Service Auth and Azure AD B2C