👥

Azure初心者がAzure AD B2Cについて整理してみた part2

2022/02/05に公開

はじめに

この記事は4部構成で書いている記事の第2弾です。

  • part1 アカウント作成〜B2Cテナント作成
  • part2 B2Cテナントを触ってログイン画面を作る ← 今回
  • part3 part2で作った画面(ユーザーフロー)のカスタマイズ
  • part4 GraphAPIを使ってみる

part2である当記事は、B2Cテナントを触ってログイン画面を作るの部分を書いていきます。
part1の記事は以下からご確認ください。
https://zenn.dev/yutaro_matsu/articles/b2bff143c25d1c

part2でやること

  • アプリの登録
  • ユーザーフローの作成
  • アカウントを作成してみる

前提

この記事で紹介する内容は、前提として以下の作業が必ず必要となります。

  • part1の作業が全て完了していること
  • part1の記事で作成したB2Cテナントに切り替えていること
    ↓前回作成したテナントに切り替える方法
  • 今回はAzure AD B2CとNext.jsを連携させています。Next.js側の設定は以下の記事を参考にしました。

https://fwywd.com/tech/nextjs-azure-ad-b2c

アプリの登録

https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/tutorial-register-applications?tabs=app-reg-ga
作成したWebアプリ、もしくはネイティブアプリでAzure AD B2Cを実装するには、Azure AD B2C側で「アプリの登録」が必要になります。
今回はローカルでNext.jsで作成したWebアプリを用意して、Azure AD B2Cと連携するようにしていきます。

↓B2Cテナントに移動したら、Azure portalホーム画面で「Azure AD B2C」を検索し、選択します。

↓「アプリの登録」をクリックします。

↓「新規登録」をクリックします。

↓各種情報を入力し、「登録」をクリックします。
今回登録するのはローカルで動くNext.jsのWebアプリなので、リダイレクトURIには「シングルページ アプリケーション (SPA)」してlocalhostのURLを入力しています。
この項目は実装する環境によって入力する内容が異なります。
その他のアプリの名前以外の項目はデフォルト値のままで作成します。

これでアプリの登録は完了です。

ユーザーフローの作成

https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-user-flow
次にユーザーフローを作成します。
ユーザーフローとは、先程登録したアプリにサインイン、サインアップ等の機能を簡単に組み込むためのものです。
ユーザーフローにはサインイン、サインアップ、パスワード変更、ユーザー情報変更などの色々なフローが用意されています。これらをシチュエーションに合わせて利用します。
今回は「サインアップとサインイン」のユーザーフローを作成します。

↓B2Cの画面を開いて、「ユーザーフロー」をクリックします。

↓「新しいユーザーフロー」をクリックします。

↓今回は「サインアップとサインイン」のフローを選択し、バージョンには「推奨」を選択して、「作成」をクリックします。

↓各種情報を入力して、「作成」をクリックします。

アカウントについて

少し紛らわしいのですが、B2Cテナント内では大きく分けて2種類のユーザーが存在します。

  • コンシューマーユーザー
  • 作業ユーザー(正しい名称ではありません)

コンシューマーユーザーはAzure portalでB2Cテナントを触ることはできません。ユーザーフローで作成したログイン画面からログインし、サービスを利用する側(提供される側)のユーザーです。
一方作業ユーザーというのは、Azure portalでB2Cテナントの設定をさわることができるユーザーです。
要はサービスを提供する側のユーザーです。

コンシューマーユーザーを作成してみる

アカウントの作成方法は以下の2通りがあります。

  • サインアップの画面から作成する
  • Azure portalから作成する

サインアップの画面から作成してみる

↓先程作成したユーザーフローの画面を開き、「ユーザーフローを実行します」をクリックします。

↓「ユーザーフローを実行します」をクリックします。

↓「Sign up now」をクリックします。

↓以下の画面からアカウントの作成をします。
アカウントの作成が成功すると、先程設定したリダイレクトURIにリダイレクトされます。

Azure portalから作成してみる

↓B2Cの画面を開いて、「ユーザー」をクリックします。

↓「新しいユーザー」をクリックします。

↓「Azure AD B2C ユーザーの作成」を選択した上で各種情報を入力してアカウントを作成します。

それぞれの方法で作成したアカウントでログインができるとかと思います。

作業ユーザーを作成してみる

↓B2Cの画面を開いて「ユーザー」をクリックします。

↓「新しいユーザー」をクリックします。

↓B2Cテナントに作業ユーザーを追加する方法は2種類あります。
「ユーザーの作成」は新しいアカウントを作成する際に利用するもので、「ユーザーの招待」はすでに存在するアカウントをB2Cテナントに追加する際に利用するものです。今回は「ユーザーの作成」で作業ユーザーの追加を行います。

次に作成したユーザーにB2Cテナントないの権限を割り当てます。
ロールについては以下の記事を参考にしてください。
https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/roles-resource-access-control
↓ユーザーの一覧に先程追加したユーザーが追加されています。追加したユーザーをクリックします。

↓「割り当てられたロール」をクリックします。

↓「割り当ての追加」からロールの割り当てを行います。

以上です。

Discussion