EN

Facebook OAuth 配置

本指南说明如何为应用配置 Facebook 登录。完成后,用户可使用 Facebook 账号登录。

前置条件

步骤 1:创建 Facebook 应用

  1. 打开 Facebook for Developers
  2. 点击右上角 我的应用
  3. 点击 创建应用
  4. 选择应用类型:
  • 消费者 - 面向普通用户
  • 商业 - 面向企业集成
  1. 填写应用信息:
  • 应用名称:您的应用名称
  • 应用联系邮箱:您的邮箱
  1. 点击 创建应用

步骤 2:设置 Facebook 登录

  1. 在应用仪表板中找到 为应用添加产品
  2. 找到 Facebook 登录 并点击 设置
  3. 选择平台(Web、iOS、Android)

Web 应用

  1. 输入网站 URL:https://yourdomain.com
  2. 保存更改

iOS 应用

  1. 输入套装 ID:com.yourcompany.myapp
  2. 如需单点登录请启用
  3. 保存更改

Android 应用

  1. 输入包名:com.yourcompany.myapp
  2. 输入默认 Activity 类名
  3. 添加 Key Hashes(调试版和发布版)
  4. 保存更改

步骤 3:配置 OAuth 设置

  1. 在左侧边栏进入 Facebook 登录 > 设置
  2. 配置以下项:

有效 OAuth 重定向 URI

添加您的重定向 URI:

https://yourdomain.com/auth/facebook/callback
https://yourdomain.com/auth/callback
http://localhost:3000/auth/facebook/callback (开发用)

客户端 OAuth 设置

设置 推荐值
客户端 OAuth 登录
Web OAuth 登录
强制 Web OAuth 重新认证
嵌入式浏览器 OAuth 登录
从设备登录 否(除非需要)
  1. 点击 保存更改

步骤 4:获取应用凭据

  1. 在左侧边栏进入 设置 > 基本信息
  2. 记录:
  • App ID - 应用标识符
  • App Secret - 点击「显示」查看(请妥善保管!)

警告: 切勿在客户端代码或公开仓库中暴露 App Secret。

步骤 5:配置权限

  1. 进入 应用审核 > 权限和功能
  2. 以下权限默认可用:
  • email - 用户邮箱
  • public_profile - 基本资料
  1. 其他权限可能需要应用审核

常用权限

权限 说明 是否需审核
email 用户邮箱
public_profile 姓名、头像
user_friends 使用应用的好友
user_photos 相册访问

步骤 6:在 OpenDev 中配置

  1. 登录 OpenDev 平台
  2. 进入 OAuth 渠道
  3. 添加或编辑 Facebook OAuth 渠道
  4. 填写配置:
{
  "provider": "facebook",
  "appId": "YOUR_APP_ID",
  "appSecret": "YOUR_APP_SECRET",
  "scopes": ["email", "public_profile"],
  "callbackUrl": "https://yourdomain.com/auth/facebook/callback",
  "apiVersion": "v18.0"
}

配置字段

字段 必填 说明
App ID Facebook 应用 ID
App Secret Facebook 应用密钥
Scopes 请求的权限
Callback URL 重定向 URI
API Version Facebook Graph API 版本

步骤 7:测试集成

开发模式

在开发模式下,仅应用管理员、开发者和测试者可登录。

  1. 进入 角色 > 角色
  2. 测试用户测试员 下添加测试账号

测试步骤

  1. 在应用中触发 Facebook 登录
  2. 使用测试账号登录
  3. 验证 OAuth 回调正常
  4. 检查返回的用户数据

OAuth 响应示例

{
  "provider": "facebook",
  "providerId": "10158XXXXXXXXX",
  "email": "user@example.com",
  "name": "John Doe",
  "avatar": "https://graph.facebook.com/10158XXXXXXXXX/picture"
}

步骤 8:上线

正式发布前:

  1. 进入 设置 > 基本信息
  2. 填写所有必填项:
  • 隐私政策 URL
  • 服务条款 URL
  • 应用图标
  • 分类
  1. 将应用从 开发 切换为 上线 模式

注意: 部分功能需经应用审核后才能上线。

故障排查

错误:Invalid redirect_uri

解决: 确保重定向 URI 与「有效 OAuth 重定向 URI」列表中的条目完全一致。

错误:App Not Setup

解决: 在设置 > 基本信息中完成所有必填项,并确认应用处于上线模式。

错误:User Cannot Access App

解决: 开发模式下,在角色 > 角色中将用户添加为测试员。

登录后白屏

解决: 检查浏览器控制台是否有 JavaScript 错误,确认回调 URL 处理逻辑正常。

安全最佳实践

  1. 使用 App Secret Proof - 在高级设置中启用以增强安全性
  2. 验证签名请求 - 始终验证 Facebook 的签名请求
  3. 使用 HTTPS - 生产环境 OAuth 必须使用 HTTPS
  4. 实现 state 参数 - 防止 CSRF 攻击
  5. 短期令牌 - 使用短期令牌并在需要时刷新

相关文档