你当前正在访问 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 中的自定义策略入门了解自定义策略新手包。
必备条件
- 创建用户流,以便用户能够注册并登录应用程序。
- 注册 Web 应用程序。
创建 Facebook 应用程序
若要在 Azure Active Directory B2C (Azure AD B2C) 中为用户启用使用 Facebook 帐户登录的功能,需要在 Facebook 应用仪表板中创建应用程序。 有关详细信息,请参阅应用开发。
如果还没有 Facebook 帐户,可通过 https://www.facebook.com 注册。 注册或登录 Facebook 帐户后,启动 Facebook 开发人员帐户注册过程。 有关详细信息,请参阅注册为 Facebook 开发人员。
- 使用 Facebook 开发人员帐户凭据登录面向开发人员的 Facebook。
- 选择“创建应用”。
- 在“选择应用类型”部分,选择“使用者”,然后选择“下一步”。
- 输入“应用显示名称”以及有效的“应用联系人电子邮件” 。
- 选择“创建应用”。 此步骤要求你接受 Facebook 平台政策并完成在线安全检查。
- 选择“设置”>“基本”。
- 复制“应用程序 ID”的值。
- 选择“显示”,然后复制“应用密码”的值。 使用这两个值将 Facebook 配置为租户中的标识提供者。 “应用程序密码”是一个非常重要的安全凭据。
- 为“隐私策略 URL”输入一个 URL,例如
https://www.contoso.com/privacy
。 策略 URL 是继续提供应用程序的隐私信息的页面。 - 为“服务条款 URL”输入一个 URL,例如
https://www.contoso.com/tos
。 策略 URL 是你为应用程序继续提供条款和条件的页面。 - 输入用户数据删除 URL,例如
https://www.contoso.com/delete_my_data
。 用户数据删除 URL 是为了让用户能够请求删除其数据而保留的页面。 - 选择“类别”,例如
Business and Pages
。 此值是 Facebook 必需的,但不用于 Azure AD B2C。
- 在页面底部,选择“添加平台”,然后选择“网站”。
- 在“网站 URL”中,输入网站的地址,例如
https://contoso.com
。 - 选择“保存更改”。
- 从菜单中选择加号,或者在“产品”旁边选择“添加产品”链接。 在“将产品添加到应用”下,选择“Facebook 登录”下的“设置” 。
- 从菜单中选择“Facebook 登录”,然后选择“设置” 。
- 在“有效的 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
替换为你的自定义域。 - 选择页面底部的“保存更改”。
- 若要让 Facebook 应用程序可用于 Azure AD B2C,请选择页面右上角的“状态”选择器,将它设置为“开”,使应用程序公开,然后选择“切换模式”。 此时,“状态”应从“开发”变为“实时”。 有关详细信息,请参阅 Facebook 应用开发。
将 Facebook 配置为标识提供程序
- 以 Azure AD B2C 租户的全局管理员身份登录 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_
会自动添加到密钥名称。 - 在“密码”中,输入前面记录的应用密码。
- 在“密钥用法”处选择
Signature
。 - 单击“创建”。
将 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 访问令牌实时演示