【问题标题】:Inform User Account Exists通知用户帐户存在
【发布时间】:2017-06-15 04:26:48
【问题描述】:
在我的应用程序中,我有标准的电子邮件身份验证,以及两个 oauth 服务(比如 Google 和 Facebook)
如果用户注册了 Facebook,但他们尝试通过常规电子邮件身份验证登录,我是否应该告诉他们使用 Facebook?
起初,我认为这很简单,但意识到这可能会产生潜在的安全后果。
大家觉得呢?
(另外,这可以在 Stack Overflow 上提问,还是我应该重新发布到 Software Engineering?)
【问题讨论】:
标签:
security
login
oauth
oauth-2.0
client
【解决方案1】:
用户有可能禁用了 Facebook(或其他一些服务的)选项,以便通过他/她的电子邮件进行查找。因此,提供建议通过 Facebook 登录的消息可能不是一个好的解决方案,因为攻击者可以获得用户标记为私人的信息。
我要做的是,我会将用户不存在时显示的消息更改为“无效用户(如果您已经使用其他服务(例如 Facebook)注册,请登录)”使用该服务)”。我会向不存在的用户以及使用某些服务注册的用户呈现此消息。这样,攻击者就无法区分未注册的用户和使用某些服务注册的用户,而合法用户却得到了可能出错的提示。我相信会出现一些可用性问题,但是这样可以更好地尊重用户的隐私。