Docs 菜单
Docs 主页
/ /
Atlas App Services
/ /

Facebook 身份验证

在此页面上

  • Overview
  • 配置
  • 设置 Facebook 应用
  • 创建 Facebook 应用
  • 启用 Facebook 登录
  • 将 App Services 添加为有效的 OAuth 重定向 URI
  • 配置 Facebook 身份验证提供程序
  • 示例

Facebook身份验证提供者允许用户通过配套的Facebook应用程序使用现有Facebook帐户登录。 当用户登录时, Facebook会向Atlas App Services提供 OAuth2.0 访问权限令牌 为用户。App Services使用该令牌来识别用户身份,并代表用户从Facebook API访问权限已批准的数据。 有关Facebook登录的更多信息,请参阅 应用程序的Facebook登录

下图展示了 OAuth 逻辑流程:

OAuth 流程图

您可以通过从Authentication页面选择 Facebook ,从App Services用户界面启用和配置Facebook身份验证提供者程序。

要使用App Services CLI启用和配置Facebook身份验证提供者程序,请在 /auth/providers.json中为其定义一个配置对象

Facebook提供商配置采用以下形式:

/auth/providers.json
{
"oauth2-facebook": {
"name": "oauth2-facebook",
"type": "oauth2-facebook",
"disabled": <boolean>,
"config": {
"clientId": <string>
},
"secret_config": {
"clientSecret": <string>
},
"metadata_fields": [<document>, ...],
"redirect_uris": [<string>, ...],
"domain_restrictions": [<string>, ...]
}
}

Facebook 身份验证提供程序具有以下配置选项:

字段
说明
Client ID
config.clientId

必需字段。Facebook 应用的 App ID(应用 ID)。

有关设置Facebook 应用和查找App ID的信息,请参阅设置 Facebook 应用。

Client Secret
secret_config.clientSecret

必需字段。存储 Facebook 应用的 App Secret(应用密钥)的密钥的名称。

有关设置Facebook 应用和查找App Secret的信息,请参阅设置 Facebook 应用。

Metadata Fields
metadata_fields

可选。 描述应用程序将从 Facebook Graph API 请求的经过身份验证的用户的字段列表。

默认情况下,将省略所有元数据字段,并且可以逐个字段进行要求。用户必须明确授予应用访问每个必填字段的权限。如果某个特定用户需要元数据字段并且该元数据字段存在,则该元数据字段将包含在其用户对象中。

如需从导入/导出配置文件中获取元数据字段,可在 metadata_fields 数组中为该字段添加一个条目。每个条目都应是以下格式的文档:

{ name: "<metadata field name>", required: "<boolean>" }
Redirect URIs
redirect_uris

对于 Web 应用程序是必需的。允许的重定向 URI 列表。

用户在 Facebook 上完成身份验证流程后,App Services 会将其重定向回指定的重定向 URI,或者,如果未指定重定向 URI,则重定向回他们发起身份验证请求的 URL。App Services 只会将用户重定向到与此列表中的条目完全匹配的 URI,包括协议和所有尾部斜杠。

Domain Restrictions
domain_restrictions

可选。用户帐户的已批准列表。

如果已指定,提供程序会检查用户在 Facebook 上的主要电子邮件地址的域,并且在该域与此列表中的条目匹配时才允许他们进行身份验证。

例如,如果列出了 example1.comexample2.com,则允许主要电子邮件为 joe.mango@example1.com 的 Facebook 用户登录,而不允许主要电子邮件为 joe.mango@example3.com 的用户登录。

注意

如果您指定了任何域限制,则还必须在 Metadata Fields 设置中输入电子邮件地址字段。

Facebook 身份验证提供程序需要使用 Facebook 应用来托管身份验证和用户权限。以下步骤将逐步介绍创建应用、设置 Facebook 登录以及配置提供程序以与应用连接。

1

请按 Facebook 的官方指南创建新 Facebook 应用。

2

在应用的 Dashboard(仪表板)视图中,找到 Facebook Login(Facebook 登录)卡并单击 Set Up(设置)。应能看到每个平台的快速入门指南列表。按照相应平台的指南启用 Facebook 登录。

注意

App Services Web 应用程序不需要安装 Facebook SDK 即可使用 Facebook 身份验证提供程序。如果要将 Facebook 登录集成到 Web 应用程序中,则可以跳过快速入门中与设置用于 JavaScript 的 Facebook SDK 相关的任何步骤。

3

当用户完成 Facebook 应用的登录流程时,他们需要重定向回 App Services。Facebook 登录仅允许用户重定向到预先批准的 URI 列表。

Facebook Login > Settings页面中,将与应用程序的部署区域相对应的 App Services 身份验证回调 URL 添加到Valid OAuth Redirect URIs列表中。下表列出了各地区的回调 URL:

区域
App Services 身份验证回调 URL
Global
https://services.cloud.mongodb.com/api/client/v2.0/auth/callback
Virginia
(us-east-1)
https://us-east-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Oregon
(us-west-2)
https://us-west-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Ireland
(eu-west-1)
https://eu-west-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Frankfurt
(eu-central-1)
https://eu-central-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Mumbai
(ap-south-1)
https://ap-south-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Singapore
(ap-southeast-1)
https://ap-southeast-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Sydney
(ap-southeast-2)
https://ap-southeast-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
4

要将Facebook应用连接到Atlas App Services ,请在 Settings > Basic 页面上找到Facebook应用的 App IDApp Secret 值,并将它们添加到身份验证提供者配置中。

有关演示如何使用 Facebook 身份验证进行注册和登录的代码示例,请参阅 Realm SDK 的文档:

后退

电子邮件/密码