将 Facebook 用作 ACS 标识提供程序

更新时间:2015 年 6 月 19 日

适用于:Azure

Microsoft Azure Active Directory 访问控制 (也称为访问控制服务或 ACS) 支持 Facebook 作为网站和 Web 应用程序的标识提供者。 ACS 对 Facebook 的支持是使用 Facebook 图形 API构建的,它为 Facebook 用户帐户启用联合身份验证和授权。

配置必备的 Facebook 应用程序

若要将 Facebook 添加为访问控制命名空间中的标识提供者,必须先创建 Facebook 应用程序,并提供必要的参数来与 ACS 通信。 有关详细信息,请参阅 如何:将 Facebook 配置为标识提供者

使用 ACS 管理门户进行配置

创建 Facebook 应用程序并想要将 Facebook 添加为访问控制命名空间中的标识提供者后,必须使用 ACS 管理门户指定以下设置:

  • 显示名称 - 指定标识提供程序的显示名称。 此名称仅在 ACS 管理门户中使用。

  • 应用程序 ID - 指定可从 Facebook 应用程序复制的应用程序 ID。

  • 应用程序机密 - 指定可从 Facebook Connect 应用程序复制的应用程序机密。

  • 应用程序权限 - 指定要在登录时从 Facebook 应用程序的用户请求的任何扩展权限。 有关可请求的权限的详细信息,请参阅 权限 (https://go.microsoft.com/fwlink/?LinkID=214014) 。 默认提供用于访问 Facebook 用户电子邮件地址的权限,其他权限必须使用逗号分隔。 配置权限后,信赖方应用程序可以使用颁发的 Facebook 访问令牌通过 Facebook Graph API 请求其他用户信息。 有关详细信息,请参阅 支持的声明类型中的访问令牌声明类型。

  • 登录链接文本 - 指定在 Web 应用程序的登录页上为 Facebook 标识提供程序显示的文本。 有关详细信息,请参阅 登录页和主领域发现

  • 图像 URL (可选) - 指定某个图像文件(例如,所选的徽标)的 URL,可以将其显示为此标识提供程序的登录链接。 此徽标会自动显示在 ACS 感知 Web 应用程序的默认登录页上,以及可用于呈现自定义登录页的 Web 应用程序的 JSON 源中。 如果你不指定图像 URL,则此标识提供程序的文本登录链接将显示在 Web 应用程序的登录页上。 如果你指定了图像 URL,我们强烈建议使其指向受信任源(例如,你自己的网站或应用程序),并使用 HTTPS 防止出现浏览器安全警告。 此外,任何宽度大于 240 像素、高度大于 40 像素的图像都会在默认的 ACS 主领域发现页上自动调整大小。

  • 信赖方应用程序 - 指定要与 Facebook 标识提供程序关联的所有现有信赖方应用程序。 有关详细信息,请参阅 信赖方应用程序

将标识提供程序与信赖方应用程序关联后,必须在信赖方应用程序的规则组中手动生成或添加该标识提供程序的规则才能完成配置。 有关创建规则的详细信息,请参阅 规则组和规则

支持的声明类型

在用户使用标识提供程序进行身份验证之后,他们将会收到一个填充了标识声明的令牌。 声明是有关用户的信息片段,例如电子邮件地址或唯一 ID。 ACS 可以直接将这些声明传递给信赖方应用程序,也可以根据所包含的值做出授权决策。

默认情况下,ACS 中的声明类型使用 URI 进行唯一标识,以便符合 SAML 令牌规范。 这些 URI 也用于标识其他令牌格式的声明。

下表显示了 ACS 可用于 Facebook 标识提供者的声明类型。

声明类型 URI 说明

名称标识符

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

用户帐户的唯一标识符 (uid),由 Facebook 提供。

名称

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

用户帐户的显示名称,由 Facebook 提供。

电子邮件地址

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

用户帐户的电子邮件地址,由 Facebook 提供。 请注意,仅当“电子邮件”配置为应用程序权限时,才会提供此声明类型,默认情况下,该权限在 ACS 管理门户中。

访问令牌

http://www.facebook.com/claims/AccessToken

当前用户会话的 Facebook OAuth 2.0 访问令牌。 此访问令牌可用于通过 Graph API 回调 Facebook。 有关详细信息,请参阅图形 API

过期时间

https://schemas.xmlsoap.org/ws/2008/06/identity/claims/expiration

以协调世界时 (UTC) 表示的、访问令牌过期的日期和时间。

注意

如果请求了 offline_access 权限,则该声明类型不存在。

标识提供者

https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/IdentityProvider

ACS 提供的声明,告知信赖方应用程序用户使用特定 Facebook 应用程序进行身份验证。 此声明值的格式为 Facebook-Application< ID>,实际值通过“编辑标识提供者”页面上的“领域”字段在 ACS 管理门户中可见。

另请参阅

概念

标识提供者