你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息。
在开始之前,请使用此页面顶部的 “选择策略类型 选择器”来选择要设置的策略类型。 Azure Active Directory B2C 提供了两种定义用户如何与应用程序交互的方法:通过预定义的用户流,或者通过可完全配置的自定义策略。 对于每种方法,本文中所需的步骤都不同。
注释
在 Azure Active Directory B2C 中,自定义策略 主要用于解决复杂场景。 对于大多数场景,我们建议您使用内置的用户流。 如果未这样做,请通过 Active Directory B2C 中的自定义策略入门来了解自定义策略初学者包。
先决条件
- 创建用户流,以便用户能够注册并登录应用程序。
- 注册 Web 应用程序。
- 完成 Active Directory B2C 中的自定义策略入门中的步骤。 本教程指导你如何更新自定义策略文件以使用 Azure AD B2C 租户配置。
- 注册 Web 应用程序。
创建 Facebook 应用程序
若要在 Azure Active Directory B2C(Azure AD B2C)中为具有 Facebook 帐户的用户启用登录,需要在 Facebook 应用仪表板中创建应用程序。 有关详细信息,请参阅应用开发。
如果还没有 Facebook 帐户,可通过 https://www.facebook.com 注册。 注册或登录 Facebook 帐户后,启动 Facebook 开发人员帐户注册过程。 有关详细信息,请参阅注册为 Facebook 开发人员。
- 请使用您的 Facebook 开发者账户凭据登录Facebook for Developers。
- 选择“创建应用”。
- 对于 “选择应用类型”,请选择“ 使用者”,然后选择“ 下一步”。
- 输入 应用显示名称和 有效的 应用联系人电子邮件。
- 选择“创建应用”。 此步骤要求你接受 Facebook 平台政策并完成在线安全检查。
- 选择设置>基本。
- 复制“应用程序 ID”的值。
- 选择“显示”,然后复制“应用密码”的值。 使用这两个值将 Facebook 配置为租户中的标识提供者。 “应用程序密码”是一个非常重要的安全凭据。
- 为“隐私策略 URL”输入一个 URL,例如 。 策略 URL 是继续提供应用程序的隐私信息的页面。
- 为“服务条款 URL”输入一个 URL,例如 。 策略 URL 是你为应用程序继续提供条款和条件的页面。
- 输入用户数据删除 URL,例如 。 用户数据删除 URL 是为了让用户能够请求删除其数据而保留的页面。
- 选择“类别”,例如 。 Facebook 需要此值,但不用于 Azure AD B2C。
- 在页面底部,选择“添加平台”,然后选择“网站”。
- 在“网站 URL”中,输入网站的地址,例如 。
- 选择保存更改。
- 从菜单中选择加号,或者在“产品”旁边选择“添加产品”链接。 在“将产品添加到你的应用”下,选择“Facebook 登录”名下的“设置”。
- 从菜单中选择 “Facebook 登录名”,然后选择 “设置”。
- 在 有效的 OAuth 重定向 URI 中,输入
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
。 如果使用 自定义域,请输入https://your-domain-name/your-tenant-id.onmicrosoft.com/oauth2/authresp
。 将your-tenant-id
替换为你的租户标识,将your-domain-name
替换为你的自定义域。 - 选择页面底部的“ 保存更改 ”。
- 若要使 Facebook 应用程序可供 Azure AD B2C 使用,请选择页面右上角的状态选择器,将其 打开以公开 应用程序,然后选择 “切换模式”。 此时,“状态”应从“开发”变为“实时”。 有关详细信息,请参阅 Facebook 应用开发。
将 Facebook 配置为标识提供者
- 使用至少具有外部标识提供者管理员权限的帐户登录到 Azure 门户。
-
- 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
- 选择 Azure 门户左上角的“所有服务” ,搜索并选择 Azure AD B2C。
- 选择 “标识提供者”,然后选择 “Facebook”。
- 输入“名称”。 例如 Facebook。
- 对于“客户端 ID”,输入之前创建的 Facebook 应用程序的“应用 ID”。
- 对于“客户端密码”,输入已记录的“应用机密”。
- 选择“保存”。
将 Facebook 标识提供程序添加到用户流
此时,Facebook 标识提供者已设置,但还不能在任何登录页中使用。 若要将 Facebook 标识提供者添加到用户流,请执行以下操作:
- 在 Azure AD B2C 租户中,选择“用户流” 。
- 单击要添加 Facebook 标识提供者的用户流。
- 在 社交标识提供者下,选择 Facebook。
- 选择“保存”。
- 若要测试策略,请选择“运行用户流”。
- 对于“应用程序”,请选择前面已注册的名为“testapp1”的 Web 应用程序。 “回复 URL”应显示为
https://jwt.ms
。 - 选择“运行用户流”按钮。
- 在注册或登录页中,选择 Facebook 以使用 Facebook 帐户登录。
如果登录过程成功,浏览器将重定向到 https://jwt.ms
,后者显示 Azure AD B2C 返回的令牌内容。
创建策略密钥
需要存储以前在 Azure AD B2C 租户中记录的应用机密。
- 登录到 Azure 门户。
- 如果有权访问多个租户,请选择顶部菜单中的“设置”图标,从“目录 + 订阅”菜单切换到你的 Azure AD B2C 租户。
- 选择 Azure 门户左上角的“所有服务”,然后搜索并选择“Azure AD B2C” 。
- 在“概述”页上选择“标识体验框架”。
- 选择“策略密钥”,然后选择“添加”。
- 对于“选项”,选择 。
Manual
- 输入策略密钥的名称。 例如,
FacebookSecret
。 前缀B2C_1A_
会自动添加到密钥名称。 - 在 “机密”中,输入之前录制的应用机密。
- 在“密钥用法”处选择 。
- 单击 “创建” 。
将 Facebook 帐户配置为标识提供者
在
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) 文件。
- 将 TrustFrameworkExtensions.xml 文件上传到租户。
- 在 “自定义策略”下,选择 B2C_1A_signup_signin。
- 对于 “选择应用程序”,请选择之前注册的名为 testapp1 的 Web 应用程序。 “回复 URL”应显示为
https://jwt.ms
。 - 选择“立即运行”按钮。
- 在注册或登录页中,选择 Facebook 以使用 Facebook 帐户登录。
如果登录过程成功,浏览器将重定向到 https://jwt.ms
,后者显示 Azure AD B2C 返回的令牌内容。
后续步骤
- 了解如何将 Facebook 令牌传递到应用程序。
- 查看 Facebook 联合实时演示,以及如何传递 Facebook 访问令牌实时演示