Deployd:如何实施dpd-passport并安全地进行身份验证

时间:2015-01-24 04:25:02

标签: node.js oauth passport.js deployd

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

  1. 当用户通过OAuth提供商(例如Facebook,Twitter,Github)登录时,会创建新的用户记录...但如果同一用户清除其Cookie或使用其他浏览器登录,则会显示新的用户记录已创建。
  2. 如果我做一些聪明的事情(阅读:hacky)并为社交登录用户分配一个基于socialAccount和socialAccountId的ID(每个社交帐户唯一但不变的东西),有人可以使用标准的用户创建方法来欺骗用户通过向/users端点发出POST请求,如果他们知道该用户的socialAccount和socialAccountId。
  3. 我的问题是:我怎样才能A)阻止#1发生,或者B)禁用用户创建的标准方法而不用也阻止OAuth用户创建?

    有没有人在制作中成功使用Deployddpd-passport?如果是的话,我想跟你说话......

    提前致谢!

1 个答案:

答案 0 :(得分:0)

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

我也没有,并且观察到新的用户功能(因为它无法从auth服务查找响应以从之前找到用户)。添加这些字段可以修复它。

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

希望有所帮助。