Azure Active Directory B2Cを使いこなそう 第2回「基本的な使い方（標準ユーザーフロー）を知る」



# 連載予定

1. [Azure Active Directory B2Cの特徴と使いどころ](https://qiita.com/yyukawa/items/78a52275b9dc9c37cd9e) 
1. [基本的な使い方（標準ユーザーフロー）を知る](https://qiita.com/yyukawa/items/5996fd6558a9f5fa8631) ★
1. [基本的な概念（テナント、アプリケーション、ユーザー）を理解する](https://qiita.com/yyukawa/items/da96b4666ace678db167)
1. [ユーザーフローの日本語化](https://qiita.com/yyukawa/items/f5a6960f5e457b5cc262) 
1. [パスワードレス認証](https://qiita.com/yyukawa/items/7c96f9599630420f37c3)
1. 条件付きアクセスを使って環境に応じた認証を要求する
1. 柔軟な認証フローを実現する：カスタムポリシー


# 今回の目標
B2Cの環境を準備します。
以下の順で作業をしますが、アプリケーションの登録とユーザーの登録はどちらが先でも構いません。

1. B2Cのテナント作成
1. アプリケーションを登録する
1. ユーザーを登録する
1. ユーザーフローを登録する

# B2Cのテナント作成
まずはB2Cのテナントを作ってみます。Azureポータルでリソースの作成を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/21353326-c521-4a1c-377c-153576a4e0a0.png)

「Azure Active Directory B2C」と入力し、Enterキーを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/3705e884-d040-b29f-f531-0b74728ff40e.png)

作成を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/45c178a7-2e14-5454-1027-02b37caff7d0.png)

「新しいAzure AD B2Cテナントを作成する」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/05303ba6-c746-be35-f34b-0f28d694f52e.png)

組織名、初期ドメイン名、国/地域を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/98645e85-51b6-40b0-d432-d45e3f8c09c9.png)

少し待つとテナントが作成されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/610b1d32-fd65-6ac1-9700-2cebac004401.png)

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

アプリの登録を選択し、表示された画面で新規登録を選ぶ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/a0e5715a-0afd-2def-78dd-1646f3db45a4.png)

`https://jwt.ms`は発行されたトークンを確認するためのツール的な位置づけとしてMSが提供してくれているサイト。詳細は次回説明するので、ここでは画面キャプチャの項目と同じものをそのまま入れてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/f393ec6f-ef0c-3fac-4c00-64960a03e91e.png)

登録したアプリケーションにアクセストークンが払い出されるようにします。左メニューのアプリ登録を選択し、、先ほど登録した「jwtapp」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/20146819-f1eb-eed2-7bd5-a25e8f5863a1.png)

左メニューで認証を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/543aa1f0-1e7c-3be5-a622-640af59940f1.png)

「承認エンドポイントによって発行してほしいトークンを選択してください」で「アクセストークン（暗黙的なフローに使用）」にチェックを入れて保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/0ee152bf-a80b-66b8-8797-2425720b2ae5.png)


# ユーザーを登録する

ここではテストユーザーを登録します。サインイン方法は「電子メール」を選択してメールアドレスを入力しましょう。
パスワードを表示してメモしておいてください。名と姓は空欄で構いません。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/cec01d45-da1b-5f28-9d62-d70517ef91f2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/cf69514c-b75f-e60d-d0bb-c75147e1a7f7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/43dd3a0a-4dea-ca90-91d0-dba9f90c1f68.png)

# ユーザーフローを登録する

いよいよユーザーフローを登録します。ここではユーザーフロータイプに「サインイン」を選択し、バージョンは推奨を選んでください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/bfb1417c-d2ef-f7a4-cf83-f4e30f52e3f9.png)

以下は実際には一つの画面ですが、名前のところには「signin」と入れて、ローカルアカウントの「Email signin」を選択してください。多要素認証と条件付きアクセスはここでは有効にしません。アプリケーション要求も何も選択しなくていいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/f2bd9228-10a5-bf08-a301-53fe22381a46.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/caa8daf8-1d3a-4381-c91d-6eea6378453e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/fd123b43-8cbb-2236-ae7b-f82493b3d7a1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/a58c4c1b-052d-a2a2-cff4-a01deb8bc6c4.png)

# サインインフローを実行する

登録したユーザーフローを実行してみてましょう。
左メニューからユーザーフローを選択し、表示されたページで先ほど登録したユーザーフローを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/e77d1cd6-0245-9ad8-26bf-1539f365e75b.png)

ユーザーフローを実行しますを選択すると、右側にメニュー出てるのでこれを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/c09bf842-f727-9ab0-f068-e29de41b7d49.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/38813081-de30-f35f-662f-5d461dc6e781.png)

ログイン画面が表示されました。さきほど作成したテストユーザーのメールアドレスとパスワードを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/d9ae46e7-79af-cfc7-7ccf-54f86798b4a9.png)

無事認証が成功すると、トークンが払い出されます。トークンの中身の情報はClaimsというタブを選択すると分かりやすく表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/4f03b95f-8115-1334-838d-bf797e4f3990.png)



ここでまでで、基本的な機能を試すことができました。