我希望向我正在构建的 Shopify 商店添加社交登录功能。(我正在使用专业计划。)
我探索了 Shopify 应用商店中的一些可用的社交登录应用程序。在仔细研究它们的实际工作原理后,我对它们所遵循的总体方案有了以下理解。
- Shopify 店主使用其商店身份设置社交应用程序(例如 Facebook 应用程序),但将回调 URL/重定向 URL 配置为应用程序作者提供的 URL(即指向其基础设施)。
- 商店客户在社交平台上成功登录后(通过商店登录页面上插入的链接/按钮),请求将被重定向到应用程序。
- 该应用程序从用户的社交资料(他们现在可以访问)中检索用户的电子邮件地址。
- 然后,他们查找自己的数据库,看看这是否是现有客户。如果是这样,他们会直接进入下面的步骤 7。
- 如果是新客户,他们会使用 Shopify API 在目标 Shopify 商店上创建新的“客户”。他们为客户设置了随机生成的密码。
- 同时,他们还在自己的数据库中记录了该客户帐户(电子邮件+生成的密码)。
- 然后,他们将请求重定向回 Shopify 商店的登录页面,但这一次,客户的电子邮件地址(从社交平台检索)及其密码(从应用程序自己的数据库)包含在返回用户浏览器的数据中,如下所示:加载登录页面的一部分。
- 然后,嵌入在商店登录页面上的应用程序的 javascript 使用客户电子邮件地址和密码以编程方式提交登录表单 - 从而在 Shopify 商店上建立有效的客户会话。
我的问题如下:
- 有其他人也仔细研究过这一点,从而可以验证我的上述理解是否正确?
- 如果正确 - 这是在 Shopify 上实现社交登录的唯一方法(不使用 Shopify Plus/Enterprise 计划)吗?
我试图了解这是否确实是唯一的方法,因为我强烈地感觉到这种方法根本不安全。因此我宁愿不使用这种方法;或者如果我必须这样做,那么我宁愿为此编写自己的(私人)应用程序,这样至少我可以控制保存敏感用户凭据的应用程序/数据库的安全性。
如果我能得到任何帮助/想法,我将不胜感激。