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

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

  • 我的问题是:如何在不阻止OAuth用户创建的情况下A)防止#1发生或B)禁用标准的用户创建方法?

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

    提前致谢!

    最佳答案

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

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

    另外,这里有一个Google网上论坛:
    https://groups.google.com/forum/#!forum/deployd-users

    希望能有所帮助。

    关于node.js - 部署:如何实现dpd-passport和安全地进行身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28122277/

    10-15 12:41