Azure Active Directory B2C のユーザー フローUser flows in Azure Active Directory B2C

Azure Active Directory (Azure AD) B2C の拡張可能なポリシー フレームワークは、このサービスの中核となる強みです。The extensible policy framework of Azure Active Directory (Azure AD) B2C is the core strength of the service. ポリシーには、サインアップ、サインイン、プロファイル編集などの ID エクスペリエンスが完全に記述されています。Policies fully describe identity experiences such as sign-up, sign-in, or profile editing. 最も一般的な ID タスクを設定しやすくするために、Azure AD B2C ポータルには、ユーザー フローという事前定義済みで構成できるポリシーが用意されています。To help you set up the most common identity tasks, the Azure AD B2C portal includes predefined, configurable policies called user flows.

ユーザー フローとはWhat are user flows?

ユーザー フローを使用すると、次の設定を構成することで、アプリケーション内の動作を制御できます。A user flow enables you to control behaviors in your applications by configuring the following settings:

  • サインインに使用するアカウントの種類 (Facebook などのソーシャル アカウントやローカル アカウント)Account types used for sign-in, such as social accounts like a Facebook or local accounts
  • コンシューマーから収集される属性 (名、郵便番号、靴のサイズなど)Attributes to be collected from the consumer, such as first name, postal code, and shoe size
  • Azure Multi-Factor AuthenticationAzure Multi-Factor Authentication
  • ユーザー インターフェイスのカスタマイズCustomization of the user interface
  • アプリケーションがトークンで要求として受け取る情報Information that the application receives as claims in a token

テナント内でさまざまな種類のユーザー フローを多数作成し、必要に応じてそれらをアプリケーションで使用できます。You can create many user flows of different types in your tenant and use them in your applications as needed. ユーザー フローは、アプリケーション間で再利用することができます。User flows can be reused across applications. この柔軟性により、最小限のコード変更で、またはコードをまったく変更せずに、ID エクスペリエンスを定義および変更できます。This flexibility enables you to define and modify identity experiences with minimal or no changes to your code. アプリケーションでは、ユーザー フロー パラメーターを含む標準の HTTP 認証要求を使用して、ユーザー フローがトリガーされます。Your application triggers a user flow by using a standard HTTP authentication request that includes a user flow parameter. カスタマイズされたトークンは応答として受信されます。A customized token is received as a response.

次の例では、使用するユーザー フローを指定する "p" クエリ文字列パラメーターを示しています。The following examples show the "p" query string parameter that specifies the user flow to be used:

https://contosob2c.b2clogin.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siup                                       // Your sign-up user flow
https://contosob2c.b2clogin.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siin                                       // Your sign-in user flow

ユーザー フローのバージョンUser flow versions

Azure portal では、ユーザー フローの新しいバージョンが常時追加されています。In the Azure portal, new versions of user flows are being added all the time. Azure AD B2C を使用して開始する場合は、テスト済みのユーザー フローを使用することをお勧めします。When you get started with Azure AD B2C, tested user flows are recommended for you to use. 新しいユーザー フローを作成するときに、必要なユーザー フローを [推奨] タブから選択します。When you create a new user flow, you choose the user flow that you need from the Recommended tab.

現在推奨されているユーザー フローは次のとおりです。The following user flows are currently recommended:

  • サインアップとサインイン: サインアップ エクスペリエンスとサインイン エクスペリエンスの両方を 1 つの構成で処理します。Sign up and sign in - Handles both of the sign-up and sign-in experiences with a single configuration. ユーザーは、状況に応じて正しいパスに誘導されます。Users are led down the right path depending on the context. サインアップ ユーザー フローまたはサインイン ユーザー フローには、このユーザー フローを使用することをお勧めします。It's recommended that you use this user flow over a sign-up user flow or a sign-in user flow.
  • プロファイル編集: ユーザーが自身のプロファイル情報を編集できるようにします。Profile editing - Enables users to edit their profile information.
  • パスワードのリセット: ユーザーが自分のパスワードをリセットできるかどうか、およびその方法を構成できるようにします。Password reset - Enables you to configure whether and how users can reset their password.

ユーザー フローのリンクLinking user flows

ローカル アカウントを使用したサインアップまたはサインイン ユーザー フローには、エクスペリエンスの最初のページに [パスワードを忘れた場合] リンクが含まれます。A sign-up or sign-in user flow with local accounts includes a Forgot password? link on the first page of the experience. このリンクをクリックしても、パスワード リセット ユーザー フローは自動的にはトリガーされません。Clicking this link doesn't automatically trigger a password reset user flow.

代わりに、エラー コード AADB2C90118 がアプリケーションに返されます。Instead, the error code AADB2C90118 is returned to your application. アプリケーションは、パスワードをリセットする特定のユーザー フローを実行してこのエラー コードを処理する必要があります。Your application needs to handle this error code by running a specific user flow that resets the password. 例を参照するには、ユーザー フローへのリンクを示す簡単な ASP.NET サンプルをご覧ください。To see an example, take a look at a simple ASP.NET sample that demonstrates the linking of user flows.

メール アドレスの保存Email address storage

メール アドレスは、ユーザー フローの一部として必要な場合があります。An email address can be required as part of a user flow. ユーザーがソーシャル ID プロバイダーを使用して認証する場合、メール アドレスは otherMails プロパティに格納されます。If the user authenticates with a social identity provider, the email address is stored in the otherMails property. ローカル アカウントがユーザー名に基づいている場合、メール アドレスは強力な認証の詳細プロパティに格納されます。If a local account is based on a user name, then the email address is stored in a strong authentication detail property. ローカル アカウントがメール アドレスに基づいている場合、メール アドレスは signInNames プロパティに格納されます。If a local account is based on an email address, then the email address is stored in the signInNames property.

これらのいずれの場合でも、メール アドレスが検証される保証はありません。The email address isn't guaranteed to be verified in any of these cases. テナント管理者は、ローカル アカウントの基本ポリシーで電子メールの検証を無効にできます。A tenant administrator can disable email verification in the basic policies for local accounts. メール アドレスの検証が有効になっている場合でも、アドレスがソーシャル ID プロバイダーから提供されているもので、変更されていない場合は、検証されません。Even if email address verification is enabled, addresses aren't verified if they come from a social identity provider and they haven't been changed.

otherMails プロパティと signInNames プロパティのみが Active Directory Graph API を介して公開されます。Only the otherMails and signInNames properties are exposed through the Active Directory Graph API. 強力な認証の詳細プロパティ内のメール アドレスは使用できません。The email address in the strong authentication detail property is not available.

次の手順Next steps

推奨されるユーザー フローを作成する手順については、チュートリアル:ユーザー フローの作成の指示に従います。To create the recommended user flows, follow the instructions in Tutorial: Create a user flow.