首先让我说我真的很喜欢Deployd。我想在生产中使用它,但我想结合 OAuth 和社交登录,所以我安装了dpd-passport模块。它工作得很好,除了两个小(大)问题:
- 当用户通过 OAuth 提供商(例如 Facebook、Twitter、Github)登录时,会创建一个新的用户记录……但如果同一用户清除了他们的 cookie 或使用不同的浏览器登录,则会创建一个新的用户记录。
- 如果我做了一些聪明的事情(阅读:hacky)并根据 socialAccount 和 socialAccountId 为具有社交登录的用户分配一个 ID(对于每个社交帐户来说都是唯一但不变的),那么有人可以使用标准的用户创建方法来欺骗用户
/users
如果他们知道该用户的 socialAccount 和 socialAccountId,则向端点发送 POST 请求。
我的问题是:IA)如何防止 #1 发生,或者 B)在不阻止 OAuth 用户创建的情况下禁用用户创建的标准方法?
有没有人成功使用Deployd
并dpd-passport
投入生产?如果是这样,我想和你谈谈……
提前致谢!