使用 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 登录。
- 前往作为登录提供方的
https://sitea.com - 转到 OAuth 客户端列表
- 创建新的 OAuth 客户端
- 输入应用程序名称(用于标识站点 B 的名称)
- 在“重定向 URI”和“默认重定向 URI”中输入
https://siteb.com/api/method/frappe.integrations.oauth2_logins.login_via_frappe - 保存文档后,将生成应用程序客户端 ID 和应用程序客户端密钥
- 前往您要设置社交登录的
https://siteb.com - 转到“社交登录密钥”并创建一个新密钥
- 输入在步骤 6 中获取的客户端 ID 和客户端密钥
- 选择“Frappe”作为社交登录提供方
- 输入
https://sitea.com作为基础 URL,然后保存文档。
- 前往 https://developers.facebook.com
- 点击(顶栏中的)“应用”> “新建应用”,并填写表单。
- 转到“设置”> “基本”,设置联系邮箱并保存更改。
- 转到“设置”> “高级”,找到有效的 OAuth 重定向 URI 字段,并输入:
http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_facebook - 在“高级”选项卡中保存更改。
- 转到“状态和审核”,并开启“您是否希望将此应用及其所有实时功能提供给公众?”
- 转到“仪表盘”,点击“应用密钥”旁边的“显示”按钮,将应用 ID 和应用密钥复制到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID 和 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 中。
- 前往 https://console.developers.google.com
- 创建一个新项目并填写表单。
- 点击“API 和服务”> “凭据”> “创建新的客户端 ID”
- 填写表单:
- Web 应用程序
- 已授权的 JavaScript 来源为 http://{{ yoursite }}
- 已授权的重定向 URI 为
http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_google
- 转到“Web 应用程序的客户端 ID”部分,将客户端 ID 和客户端密钥复制到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID 中。
GitHub
- 前往 https://github.com/settings/applications
- 点击“注册新应用程序”
- 填写表单:
- 主页 URL 为 http://{{ yoursite }}
- 授权回调 URL 为
http://{{ yoursite }}/api/method/frappe.integrations.oauth2_logins.login_via_github
- 点击“注册应用程序”。
- 将生成的客户端 ID 和客户端密钥复制到 桌面 > 网站 > 设置 > 社交登录密钥 和 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 中。
Office 365
- 前往 https://portal.azure.com
- 创建新的 Azure Active Directory > 应用注册。
- 点击“新建应用程序注册”
- 填写表单:
- 应用程序名称
- 选择“任何组织目录中的帐户(任何 Azure AD 目录 – 多租户)”。
- 应用程序类型 – Web 应用 / API
- 重定向 URI 为
- 主页 URL 为 http://{{ yoursite }}
- 授权回调 URL 为
http://{{ yoursite }}//api/method/frappe.integrations.oauth2_logins.login_via_office365
- 点击“注册应用程序”。
- 转到 Azure 门户中的“概述”部分,将应用程序(客户端)ID 复制到 **桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端 ID
- 转到 Azure 门户中的“证书和机密”部分,创建新的客户端机密,然后通过添加到 桌面 > 集成 > 身份验证 > 社交登录密钥 > 客户端密钥 来复制客户端机密。
- 选择“Office 365”作为社交登录提供方
- 点击“启用社交登录”并保存
- 转到“令牌配置”部分,点击“添加可选声明”
- 添加令牌类型 > ID > 电子邮件