go - 如何处理社交登录?- 示例流程
问题描述
我有更多概念性的问题,我应该如何在我的项目中处理社交登录。用例是我想允许用户使用 Facebook 登录,并在我的后端保留有关此用户的信息(电子邮件、名字、姓氏)
假设我有上面的应用程序架构。现在我想逐步解释完整的成功流程。
- 客户端(Vue 应用程序)调用 AuthProvider(Facebook)
- AuthProvider 返回
access_token
- 客户端在接收后
access_token
调用后端端点,如/fb_profile
使用access_token
和userID
(?) - 后端调用 AuthProvider 以检查客户端给出的
access_token
是否有效。 - AuthProvider 返回有关用户的信息。后端获取用户信息后,将其保存到数据库并生成新的 JWT 令牌
- 后端将生成的令牌返回给用户
现在我的问题是 - 这是好方法吗?还是我应该以其他方式处理它?喜欢为后端部分保留更多逻辑吗?而不是从客户端打电话给Facebook,也许我应该打电话给后端,后端打电话给Facebook?
解决方案
以上将是请求流的顺序(与您的相同)。
这将是我们用来与 Facebook 集成的标准做法。在这种情况下,我强烈建议您使用适用于 Facebook 的JavaScript SDK。
如果遇到以下问题,请参考以下链接:
推荐阅读
- spring-boot - 将字符串值与 int 值进行比较?
- spring-boot - 即使在配置 StringRedisTemplate 之后,spring-data-redis 也使用哈希而不是字符串
- go - 当我进行构建时,获取 github.com/aws/aws-sdk-go 和供应商 aws 之间的 aws 路径未匹配
- csv - 如何将 PowerBI 查询转换为平面文件?
- android - android stripe - 获取付款方式(来源/保存的卡)?
- json - 如何在列表中加入 2 个 json 值
在颤抖? - ruby-on-rails - SimpleCov Rspec 覆盖不处理前置文件
- python - Pandas 字符串切片返回 NaN
- jupyter-lab - 为 Jupyter-Lab 安装 Kite 扩展
- excel - 从 Excel 中的单元格中提取多个代码