首页 > 解决方案 > 如何处理社交登录?- 示例流程

问题描述

我有更多概念性的问题,我应该如何在我的项目中处理社交登录。用例是我想允许用户使用 Facebook 登录,并在我的后端保留有关此用户的信息(电子邮件、名字、姓氏)

我有一些提案流程,但我不确定这是否是正确的方法。 在此处输入图像描述

假设我有上面的应用程序架构。现在我想逐步解释完整的成功流程。

  1. 客户端(Vue 应用程序)调用 AuthProvider(Facebook)
  2. AuthProvider 返回access_token
  3. 客户端在接收后access_token调用后端端点,如/fb_profile使用access_tokenuserID(?)
  4. 后端调用 AuthProvider 以检查客户端给出的access_token是否有效。
  5. AuthProvider 返回有关用户的信息。后端获取用户信息后,将其保存到数据库并生成新的 JWT 令牌
  6. 后端将生成的令牌返回给用户

现在我的问题是 - 这是好方法吗?还是我应该以其他方式处理它?喜欢为后端部分保留更多逻辑吗?而不是从客户端打电话给Facebook,也许我应该打电话给后端,后端打电话给Facebook?

标签: goauthenticationarchitecturefrontendbackend

解决方案


在此处输入图像描述

以上将是请求流的顺序(与您的相同)。

这将是我们用来与 Facebook 集成的标准做法。在这种情况下,我强烈建议您使用适用于 Facebook 的JavaScript SDK

如果遇到以下问题,请参考以下链接:

Vuejs 组件等待 facebook sdk 加载


推荐阅读