你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Active Directory B2C 中设置登录流

开始之前,可以使用“选择策略类型”选择器来选择要设置的策略类型。 Azure Active Directory B2C 提供了两种定义用户如何与应用程序交互的方法:通过预定义的用户流,或者通过可完全配置的自定义策略。 对于每种方法,本文中所需的步骤都不同。

登录流概述

通过使用登录策略,用户可以:

  • 使用 Azure AD B2C 本地帐户进行登录
  • 用户可以使用社交帐户进行登录
  • 密码重置
  • 用户无法注册 Azure AD B2C 本地帐户。 若要创建帐户,管理员可以使用 Azure 门户Microsoft Graph API

Profile editing flow

先决条件

创建登录用户流

若要添加登录策略,请执行以下操作:

  1. 登录 Azure 门户

  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。

  3. 在 Azure 门户中,搜索并选择“Azure AD B2C”。

  4. 在“策略”下,依次选择“用户流”、“新建用户流”。

  5. 在“创建用户流”页上,选择“登录”用户流 。

  6. 在“选择版本”下,选择“建议”,然后选择“创建” 。 (详细了解用户流版本。)

  7. 输入该用户流的名称。 例如 signupsignin1

  8. 在“标识提供者”下,至少选择一个标识提供者:

    • 在“本地帐户”下,选择下列选项之一:“电子邮件登录”、“用户 ID 登录”、“手机登录”、“手机/电子邮件登录”、“用户 ID/电子邮件登录”或“无”。 了解详细信息
    • 在“社交标识提供者”下,选择已设置的任一外部社交标识提供者或企业标识提供者。 了解详细信息
  9. 在“多重身份验证”下,如果你希望要求用户使用另一种身份验证方法来验证其身份,请选择方法类型,以及何时实施多重身份验证 (MFA)。 了解详细信息

  10. 在“条件访问”下,如果已为 Azure AD B2C 租户配置条件访问策略,并且想要为此用户流启用这些策略,请选择“强制实施条件访问策略”复选框 。 无需指定策略名称。 了解详细信息

  11. 在“应用程序声明”下,选择要在令牌中返回给应用程序的声明。 若要显示完整的值列表,请选择“显示更多”,选择值,然后选择“确定” 。

    注意

    还可以创建自定义属性以便在 Azure AD B2C 租户中使用。

  12. 单击“创建”以添加用户流。 名称中会自动附加前缀 B2C_1。

测试用户流

  1. 选择已创建的用户流以打开其概览页,然后选择“运行用户流”。
  2. 对于“应用程序”,请选择前面已注册的名为 webapp1 的 Web 应用程序。 “回复 URL”应显示为 https://jwt.ms
  3. 单击“运行用户流”。
  4. 如果没有注册链接,应该能够使用你所创建的账户(使用 MS Graph API)进行登录。 返回的令牌包含所选的声明。

SelfAsserted-LocalAccountSignin-Email 属于自断言的技术配置文件,在注册或登录流中调用。 若要删除注册链接,请将 setting.showSignupLink 元数据设置为 false。 覆盖扩展文件中的 SelfAsserted-LocalAccountSignin-Email 技术配置文件。

  1. 打开策略的扩展文件, 例如 SocialAndLocalAccounts/TrustFrameworkExtensions.xml

  2. 查找 ClaimsProviders 元素。 如果该元素不存在,请添加该元素。

  3. 将以下声明提供程序添加到 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> -->
    
  4. <BuildingBlocks> 元素中,添加以下 ContentDefinition 以引用版本 1.2.0 或更新版本的数据 URI:

    <!-- 
    <BuildingBlocks> 
      <ContentDefinitions>-->
        <ContentDefinition Id="api.localaccountsignup">
          <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0</DataUri>
        </ContentDefinition>
      <!--
      </ContentDefinitions>
    </BuildingBlocks> -->
    

更新并测试策略

  1. 登录 Azure 门户
  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,切换到“目录 + 订阅”菜单中的 Azure AD B2C 租户。
  3. 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“应用注册” 。
  4. 选择“标识体验框架”。
  5. 选择“上传自定义策略”,然后上传已更改的策略文件 TrustFrameworkExtensions.xml
  6. 选择已上传的登录策略,并单击“立即运行”按钮。
  7. 如果没有注册链接,应该能够使用你所创建的账户(使用 MS Graph API)进行登录。

后续步骤