如何启用社交登录

使用 Facebook、Google 或 GitHub 身份验证登录 Frappe,您的用户将无需再记住另一个密码。

系统使用这些服务提供的电子邮件地址来匹配 Frappe 中的现有用户。如果未找到此类用户,且网站设置中未禁用注册功能,则会创建一个默认类型为“网站用户”的新用户。任何系统管理员之后都可以将用户类型从“网站用户”更改为“系统用户”,以便该用户可以访问桌面。

启用社交登录后的登录界面

要启用这些注册功能,您需要从这些身份验证服务中为您的 Frappe 站点获取客户端 ID 和客户端密钥。客户端 ID 和客户端密钥需在 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID 和 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 中设置。以下是获取这些凭据的步骤。

如果您的站点启用了 HTTPS,请使用 https://{{ yoursite }}。


Frappe

这里假设您在 Frappe 框架上构建了两个站点。站点 A 是 https://sitea.com,站点 B 是 https://siteb.com。您希望使用 https://sitea.com 作为登录提供方,并在 https://siteb.com 上设置社交登录,以便通过 https://sitea.com 登录。

  1. 前往作为登录提供方的 https://sitea.com
  2. 转到 OAuth 客户端列表
  3. 创建新的 OAuth 客户端
  4. 输入应用程序名称(用于标识站点 B 的名称)
  5. 在“重定向 URI”和“默认重定向 URI”中输入 https://siteb.com/api/method/frappe.integrations.oauth2_logins.login_via_frappe
  6. 保存文档后,将生成应用程序客户端 ID 和应用程序客户端密钥
  7. 前往您要设置社交登录的 https://siteb.com
  8. 转到“社交登录密钥”并创建一个新密钥
  9. 输入在步骤 6 中获取的客户端 ID 和客户端密钥
  10. 选择“Frappe”作为社交登录提供方
  11. 输入 https://sitea.com 作为基础 URL,然后保存文档。

Facebook

  1. 前往 https://developers.facebook.com
  2. 点击(顶栏中的)“应用”> “新建应用”,并填写表单。
  3. 转到“设置”> “基本”,设置联系邮箱并保存更改。
  4. 转到“设置”> “高级”,找到有效的 OAuth 重定向 URI 字段,并输入:
    http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_facebook
  5. 在“高级”选项卡中保存更改。
  6. 转到“状态和审核”,并开启“您是否希望将此应用及其所有实时功能提供给公众?”
  7. 转到“仪表盘”,点击“应用密钥”旁边的“显示”按钮,将应用 ID 和应用密钥复制到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID 和 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 中。

Google

  1. 前往 https://console.developers.google.com
  2. 创建一个新项目并填写表单。
  3. 点击“API 和服务”> “凭据”> “创建新的客户端 ID”
  4. 填写表单:
  • Web 应用程序
  • 已授权的 JavaScript 来源为 http://{{ yoursite }}
  • 已授权的重定向 URI 为
    http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_google
  1. 转到“Web 应用程序的客户端 ID”部分,将客户端 ID 和客户端密钥复制到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID 中。

GitHub

  1. 前往 https://github.com/settings/applications
  2. 点击“注册新应用程序”
  3. 填写表单:
  • 主页 URL 为 http://{{ yoursite }}
  • 授权回调 URL 为
    http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_github
  1. 点击“注册应用程序”。
  2. 将生成的客户端 ID 和客户端密钥复制到 桌面 > 网站 > 设置 > 社交登录密钥 和 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 中。

Office 365

  1. 前往 https://portal.azure.com
  2. 创建新的 Azure Active Directory > 应用注册。
  3. 点击“新建应用程序注册”
  4. 填写表单:
  • 应用程序名称
  • 选择“任何组织目录中的帐户(任何 Azure AD 目录 – 多租户)”。
  • 应用程序类型 – Web 应用 / API
  • 重定向 URI 为
  • 主页 URL 为 http://{{ yoursite }}
  • 授权回调 URL 为 http://{{ yoursite }}//api/method/frappe.integrations.oauth2_logins.login_via_office365
  1. 点击“注册应用程序”。
  2. 转到 Azure 门户中的“概述”部分,将应用程序(客户端)ID 复制到 **桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID
  3. 转到 Azure 门户中的“证书和机密”部分,创建新的客户端机密,然后通过添加到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 来复制客户端机密。
  4. 选择“Office 365”作为社交登录提供方
  5. 点击“启用社交登录”并保存
  6. 转到“令牌配置”部分,点击“添加可选声明”
  • 添加令牌类型 > ID > 电子邮件