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

Sha*_*vil 5 oauth node.js deployd passport.js

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

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

我的问题是:IA如何防止#1发生,或者B)禁用用户创建的标准方法而不阻止OAuth用户创建?

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

提前致谢!

小智 0

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

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

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

希望有帮助。