Azure Active Directory B2C でサインイン フローを設定する
"開始する前に"、[ポリシーの種類の選択] セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。
サインイン フローの概要
サインイン ポリシーによって、ユーザーは以下を実行できます。
- Azure AD B2C ローカル アカウントによるサインイン
- ソーシャル アカウントによるユーザーのサインイン
- パスワードのリセット
- ユーザーは Azure AD B2C ローカル アカウントにサインインできません。 アカウントを作成するために、管理者は Azure portal、または Microsoft Graph API を使用できます。
前提条件
- まだそうしていない場合は、Azure Active Directory B2C に Web アプリケーションを登録します。
- Azure Active Directory B2C でユーザー フローとカスタム ポリシーを作成する方法に関するページの手順を完了します。
サインイン ユーザー フローを作成する
サインイン ポリシーを追加するには:
Azure portal にサインインします。
複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選び、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
Azure portal で、 [Azure AD B2C] を検索して選択します。
[ポリシー] で、 [ユーザー フロー] を選択し、 [新しいユーザー フロー] を選択します。
[ユーザー フローを作成する] ページで、 [サインイン] ユーザー フローを選択します。
[バージョンの選択] で [Recommended]\(推奨\) を選択して、 [作成] を選択します。 (ユーザー フローのバージョンに関する詳細情報)。
ユーザー フローの [名前] を入力します。 たとえば、「signupsignin1」と入力します。
[ID プロバイダー] で、少なくとも 1 つの ID プロバイダーを選択します。
- [ローカル アカウント] で、 [Email signin]\(メールでのサインイン\) 、 [User ID signin]\(ユーザー ID でのサインイン\) 、 [Phone signin]\(電話でのサインイン\) 、 [Phone/Email signin]\(電話とメールでのサインイン\) 、 [User ID/Email signin]\(ユーザー ID とメールでのサインイン\) 、 [None]\(なし\) のいずれかを選択します。 詳細については、こちらを参照してください。
- [ソーシャル ID プロバイダ] で、既に設定してある外部のソーシャル ID プロバイダまたはエンタープライズ ID プロバイダーをどれか選択します。 詳細については、こちらを参照してください。
2 つ目の認証方法による ID 確認をユーザーに求める場合は、[多要素認証] で、多要素認証 (MFA) をどの方法でいつ実施するかを選択します。 詳細については、こちらを参照してください。
Azure AD B2C テナントに条件付きアクセス ポリシーを設定していて、それをこのユーザー フローで有効にする場合は、 [Conditional access](条件付きアクセス) の [Enforce conditional access policies](条件付きアクセス ポリシーを有効にする) チェック ボックスに印を入れます。 ポリシー名を指定する必要はありません。 詳細については、こちらを参照してください。
アプリケーションにトークンで返す要求を [アプリケーション要求] で選択します。 すべての値を表示するために [Show more]\(詳細表示\) を選択して値を選び、 [OK] を選択します。
注意
Azure AD B2C テナントで使用するためのカスタム属性を作成することもできます。
[作成] をクリックして、ユーザー フローを追加します。 B2C_1 というプレフィックスが自動的に名前に追加されます。
ユーザー フローをテストする
- 作成したユーザー フローを選択してその概要ページを開き、 [ユーザー フローの実行] を選択します。
- [アプリケーション] で、以前に登録した webapp1 という名前の Web アプリケーションを選択します。 [応答 URL] に
https://jwt.ms
と表示されます。 - [ユーザー フローを実行します] をクリックします。
- サインアップ リンクなしで、(MS Graph API を使用して) 作成したアカウントでサインインできるはずです。 返されたトークンには、選択した要求が含まれています。
サインアップ リンクを削除する
SelfAsserted-LocalAccountSignin-Email 技術プロファイルはセルフアサートであり、サインアップまたはサインイン フローの間に呼び出されます。 サインアップ リンクを削除するには、setting.showSignupLink
メタデータを false
に設定します。 拡張ファイルで SelfAsserted-LocalAccountSignin-Email 技術プロファイルを上書きします。
お使いのポリシーの拡張ファイルを開きます。 たとえば、「
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
」のように入力します。ClaimsProviders
要素を見つけます。 要素が存在しない場合は追加します。次のクレーム プロバイダーを
ClaimsProviders
要素に追加します。<!-- <ClaimsProviders> --> <ClaimsProvider> <DisplayName>Local Account</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email"> <Metadata> <Item Key="setting.showSignupLink">false</Item> </Metadata> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider> <!-- </ClaimsProviders> -->
<BuildingBlocks>
要素内で、1.2.0 以降のデータ URI を参照するように次の ContentDefinition を追加します。<!-- <BuildingBlocks> <ContentDefinitions>--> <ContentDefinition Id="api.localaccountsignup"> <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0</DataUri> </ContentDefinition> <!-- </ContentDefinitions> </BuildingBlocks> -->
ポリシーを更新してテストする
- Azure portal にサインインします。
- 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
- Azure portal の左上隅にある [すべてのサービス] を選択し、 [アプリの登録] を検索して選択します。
- [Identity Experience Framework] を選択します。
- [カスタム ポリシーのアップロード] を選択し、変更したポリシー ファイルである TrustFrameworkExtensions.xml をアップロードします。
- アップロードしたサインイン ポリシーを選択し、 [今すぐ実行] ボタンをクリックします。
- サインアップ リンクなしで、(MS Graph API を使用して) 作成したアカウントでサインインできるはずです。
次のステップ
- ソーシャル ID プロバイダーを使用するサインインを追加します。
- パスワードのリセット フローを設定します。