rest - Loopback 3:在仅 api 的项目上实施社交身份验证
问题描述
我正在为仅限 REST API 的服务器评估环回 3,并且我希望允许客户端使用社交平台登录。大多数 API 方法将受到访问令牌和 ACL 的限制。经过调查,我发现社交登录的常见架构是
- 客户端(浏览器)与提供商协商一个有效的社交令牌(比如 Facebook)
- 客户端将社交令牌提交给 API 服务器(环回)
- 服务器使用提供者 (Facebook) 验证令牌,创建本地用户,并返回 REST API 的访问令牌(当然,这必须是已解析的服务器端,并具有从客户端调用的一项操作)
我已经在环回 ( https://github.com/strongloop/loopback-example-passport )上实现了建议的社交身份验证解决方案,但我找不到在其上包含上层架构的方法。具体来说:
- 包括服务器端视图和我不希望在我的项目中的
loopback-example-passport
东西(我不确定要删除什么) - 我不确定使用哪个方法调用来验证 facebook 的令牌、创建用户(它不存在)并返回客户端访问令牌。
这是预期架构的示意图:( 图片来源:https ://medium.com/@spyna/how-really-protect-your-rest-api-after-social-login-with-node-js-3617c336ebed )
解决方案
推荐阅读
- python - 绘制分位数线并连接两个小提琴图
- powershell - 如何从 PowerShell 脚本调用 Azure Devops 任务?
- c - 为什么此代码打印 1 2 2 而不是预期的 3 3 1?
- python - 如何使用 ctypes 模块通过引用 EnumChildWindows 来发送 Python 列表作为参数?
- java - 是什么导致此错误访问拒绝查找属性“ro.hardware.chipname”?
- flutter - Flutter:从后台服务自动恢复应用程序
- sharepoint - SharePoint server 401 未经本地计算机授权
- git - 为什么git不忽略所有目录?
- javascript - react-redux 应用程序中如何使用正确,重新选择
- docker - 使用 docker 时在 magento2 中使用什么作为基本 url?