【问题标题】:Deployd: How to implement dpd-passport and securely authenticate已部署:如何实现 dpd-passport 并安全地进行身份验证
【发布时间】:2015-03-23 05:20:21
【问题描述】:

首先让我说我真的很喜欢Deployd。我想在生产中使用它,但我想结合 OAuth 和社交登录,所以我安装了 dpd-passport 模块。它工作得很好,除了两个小(大)问题:

  1. 当用户通过 OAuth 提供商(例如 Facebook、Twitter、Github)登录时,会创建新的用户记录...但如果同一用户清除其 cookie 或使用不同的浏览器登录,则会创建新的用户记录已创建。
  2. 如果我做了一些聪明的事情(阅读:hacky)并根据 socialAccount 和 socialAccountId 为具有社交登录的用户分配一个 ID(对于每个社交帐户来说都是唯一但不变的),那么有人可以使用标准的用户创建方法来欺骗如果用户知道该用户的 socialAccount 和 socialAccountId,则向 /users 端点发出 POST 请求。

我的问题是:我怎样才能 A) 防止 #1 发生,或 B) 禁用用户创建的标准方法 也阻止 OAuth 用户创建?

有没有人在生产中成功使用过Deployddpd-passport?如果是这样,我想和你谈谈......

提前致谢!

【问题讨论】:

  • 也希望有关于使用 dpd-passport 的教程。

标签: node.js oauth passport.js deployd


【解决方案1】:

首先,我认为您没有根据文档添加自定义字段。 https://www.npmjs.com/package/dpd-passport#requirements

我也没有,并观察了新的用户功能(因为它无法查找来自身份验证服务的响应来查找以前的用户)。添加这些字段修复了它。

另外,这里有一个 google 组: https://groups.google.com/forum/#!forum/deployd-users

希望对您有所帮助。

【讨论】:

  • 嘿赛斯,感谢您的回复。根据文档,我确实确实将这些字段添加到了用户记录中,并且在 google groups 论坛上发布了一个类似的问题,但由于其他一些原因,我已经停止使用 Deployd。它可能只是一个特定于版本的错误,或者与我的开发环境相关的东西,但我不认为我会重新审视它。
  • @ShaunScovil,你是否用其他 BaaS 替换了 deploy?我真的很喜欢部署,我正在开发一个产品,但是问题正在出现,部署的开发/社区似乎正在消失......
  • @LorenoOliveira 自从我停止使用 Deployd 以来,我一直在使用 Java/Jersey 或 Node/Express 构建我的 API。 Express 的学习曲线较低,我相信这是 Deployd 使用的。如果这两个选项都太高级(或者即使不是),您可能需要查看 LoopBack:strongloop.com/node-js/loopback-framework
猜你喜欢
  • 2018-08-12
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 2014-07-06
  • 2013-09-29
  • 2013-07-31
相关资源
最近更新 更多