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

使用 Azure Active Directory B2C 设置通过 Facebook 帐户注册与登录

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

注意

在 Azure Active Directory B2C 中,自定义策略主要用于解决复杂的情况。 在大多数情况下,建议你使用内置用户流。 如果尚未这样做,请从 Active Directory B2C 中的自定义策略入门了解自定义策略新手包。

必备条件

创建 Facebook 应用程序

若要在 Azure Active Directory B2C (Azure AD B2C) 中为用户启用使用 Facebook 帐户登录的功能,需要在 Facebook 应用仪表板中创建应用程序。 有关详细信息,请参阅应用开发

如果还没有 Facebook 帐户,可通过 https://www.facebook.com 注册。 注册或登录 Facebook 帐户后,启动 Facebook 开发人员帐户注册过程。 有关详细信息,请参阅注册为 Facebook 开发人员

  1. 使用 Facebook 开发人员帐户凭据登录面向开发人员的 Facebook
  2. 选择“创建应用”。
  3. 在“选择应用类型”部分,选择“使用者”,然后选择“下一步”。
  4. 输入“应用显示名称”以及有效的“应用联系人电子邮件” 。
  5. 选择“创建应用”。 此步骤要求你接受 Facebook 平台政策并完成在线安全检查。
  6. 选择“设置”>“基本”。
    1. 复制“应用程序 ID”的值
    2. 选择“显示”,然后复制“应用密码”的值。 使用这两个值将 Facebook 配置为租户中的标识提供者。 “应用程序密码”是一个非常重要的安全凭据。
    3. 为“隐私策略 URL”输入一个 URL,例如 https://www.contoso.com/privacy。 策略 URL 是继续提供应用程序的隐私信息的页面。
    4. 为“服务条款 URL”输入一个 URL,例如 https://www.contoso.com/tos。 策略 URL 是你为应用程序继续提供条款和条件的页面。
    5. 输入用户数据删除 URL,例如 https://www.contoso.com/delete_my_data。 用户数据删除 URL 是为了让用户能够请求删除其数据而保留的页面。
    6. 选择“类别”,例如 Business and Pages。 此值是 Facebook 必需的,但不用于 Azure AD B2C。
  7. 在页面底部,选择“添加平台”,然后选择“网站”。
  8. 在“网站 URL”中,输入网站的地址,例如 https://contoso.com
  9. 选择“保存更改”。
  10. 从菜单中选择加号,或者在“产品”旁边选择“添加产品”链接。 在“将产品添加到应用”下,选择“Facebook 登录”下的“设置” 。
  11. 从菜单中选择“Facebook 登录”,然后选择“设置” 。
  12. 在“有效的 OAuth 重定向 URL”中输入 https://your-tenant-name.b2clogin.com/your-tenant-id.onmicrosoft.com/oauth2/authresp。 如果使用自定义域,请输入 https://your-domain-name/your-tenant-id.onmicrosoft.com/oauth2/authresp。 将 your-tenant-id 替换为租户的名 ID,并将 your-domain-name 替换为你的自定义域。
  13. 选择页面底部的“保存更改”。
  14. 若要让 Facebook 应用程序可用于 Azure AD B2C,请选择页面右上角的“状态”选择器,将它设置为“开”,使应用程序公开,然后选择“切换模式”。 此时,“状态”应从“开发”变为“实时”。 有关详细信息,请参阅 Facebook 应用开发

将 Facebook 配置为标识提供程序

  1. 以 Azure AD B2C 租户的全局管理员身份登录 Azure 门户
  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,切换到“目录 + 订阅”菜单中的 Azure AD B2C 租户
  3. 选择 Azure 门户左上角的“所有服务” ,搜索并选择 Azure AD B2C
  4. 依次选择“标识提供程序”和“Facebook” 。
  5. 输入“名称”。 例如 Facebook。
  6. 对于“客户端 ID”,输入之前创建的 Facebook 应用程序的“应用 ID”。
  7. 对于“客户端密码”,输入已记录的“应用机密”。
  8. 选择“保存”。

将 Facebook 标识提供程序添加到用户流

此时,Facebook 标识提供者已设置,但还不能在任何登录页中使用。 若要将 Facebook 标识提供者添加到用户流,请执行以下操作:

  1. 在 Azure AD B2C 租户中,选择“用户流” 。
  2. 单击要添加 Facebook 标识提供程序的用户流。
  3. 在“社交标识提供程序”下,选择“Facebook”。
  4. 选择“保存”。
  5. 若要测试策略,请选择“运行用户流”。
  6. 对于“应用程序”,请选择前面已注册的名为“testapp1”的 Web 应用程序。 “回复 URL”应显示为 https://jwt.ms
  7. 选择“运行用户流”按钮。
  8. 在注册或登录页上,选择“Facebook”以通过 Facebook 帐户登录。

如果登录过程成功,浏览器将重定向到 https://jwt.ms,后者显示 Azure AD B2C 返回的令牌内容。

创建策略密钥

你需要存储前面在 Azure AD B2C 租户中记录的应用密码。

  1. 登录 Azure 门户
  2. 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,切换到“目录 + 订阅”菜单中的 Azure AD B2C 租户
  3. 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C” 。
  4. 在“概述”页上选择“标识体验框架”。
  5. 选择“策略密钥”,然后选择“添加”。
  6. 对于“选项”,请选择 Manual
  7. 输入策略密钥的名称。 例如,FacebookSecret。 前缀 B2C_1A_ 会自动添加到密钥名称。
  8. 在“密码”中,输入前面记录的应用密码。
  9. 在“密钥用法”处选择 Signature
  10. 单击“创建”。

将 Facebook 帐户配置为标识提供者

  1. SocialAndLocalAccounts/TrustFrameworkExtensions.xml 文件中,将 client_id 的值替换为 Facebook 应用程序 ID:

    <TechnicalProfile Id="Facebook-OAUTH">
      <Metadata>
      <!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
        <Item Key="client_id">00000000000000</Item>
    

上传并测试策略

更新用于启动创建的用户旅程的信赖方 (RP) 文件。

  1. 将 TrustFrameworkExtensions.xml 文件上传到租户。
  2. 在“自定义策略”下,选择“B2C_1A_signup_signin” 。
  3. 对于“选择应用程序”,选择前面已注册的名为“testapp1”的 Web 应用程序。 “回复 URL”应显示为 https://jwt.ms
  4. 选择“立即运行”按钮。
  5. 在注册或登录页上,选择“Facebook”以通过 Facebook 帐户登录。

如果登录过程成功,浏览器将重定向到 https://jwt.ms,后者显示 Azure AD B2C 返回的令牌内容。

后续步骤