首页 > 解决方案 > Loopback 3:在仅 api 的项目上实施社交身份验证

问题描述

我正在为仅限 REST API 的服务器评估环回 3,并且我希望允许客户端使用社交平台登录。大多数 API 方法将受到访问令牌和 ACL 的限制。经过调查,我发现社交登录的常见架构是

  1. 客户端(浏览器)与提供商协商一个有效的社交令牌(比如 Facebook)
  2. 客户端将社交令牌提交给 API 服务器(环回)
  3. 服务器使用提供者 (Facebook) 验证令牌,创建本地用户,并返回 REST API 的访问令牌(当然,这必须是已解析的服务器端,并具有从客户端调用的一项操作)

我已经在环回 ( https://github.com/strongloop/loopback-example-passport )上实现了建议的社交身份验证解决方案,但我找不到在其上包含上层架构的方法。具体来说:

  1. 包括服务器端视图和我不希望在我的项目中的loopback-example-passport东西(我不确定要删除什么)
  2. 我不确定使用哪个方法调用来验证 facebook 的令牌、创建用户(它不存在)并返回客户端访问令牌。

这是预期架构的示意图:( 在此处输入图像描述 图片来源:https ://medium.com/@spyna/how-really-protect-your-rest-api-after-social-login-with-node-js-3617c336ebed )

标签: restloopbackjs

解决方案


推荐阅读