我遇到的很少有网站使用 Google、Facebook 或 Twitter 连接登录。他们仍然要求创建新密码。
为什么用户在使用 OpenID/Facebook/Twitter 连接时需要设置另一个密码?
我能想到的一个需求:如果用户断开应用程序与上述任何 OAuth/OpenId 连接服务提供商(Google/FB/Twitter/...)的连接,那么作为用户登录的另一种方式 - 最好实践。
我遇到的很少有网站使用 Google、Facebook 或 Twitter 连接登录。他们仍然要求创建新密码。
为什么用户在使用 OpenID/Facebook/Twitter 连接时需要设置另一个密码?
我能想到的一个需求:如果用户断开应用程序与上述任何 OAuth/OpenId 连接服务提供商(Google/FB/Twitter/...)的连接,那么作为用户登录的另一种方式 - 最好实践。
他们正在做的是迈向联邦的渐进步骤,但不是我所说的最佳实践。对于尚未准备好完全接受依赖其他身份服务的应用程序,有时与身份提供者联系以加快注册过程仍然很有帮助。换句话说,就像预填充注册表单的一种机制。
但是,如果使用它进行登录,那么拥有本地密码是另一个潜在的漏洞。现实情况是,绝大多数用户只是跨站点重复使用密码。该密码仅与存储它的最弱应用程序一样安全。如果一个应用程序被入侵并且电子邮件和密码被恢复,攻击者就会知道其中很大一部分是其他地方的有效登录。
与 Google/Facebook/etc 联合时最好的办法是根本不向用户询问他们的密码。相信主要的身份提供商会确保帐户信息和凭据的安全,而不是自己承担责任并在您的应用程序遭到入侵时处理后果。
如果你愿意的话,这里有很多很好的阅读:https ://docs.google.com/a/google.com/document/pub?id=1O7jyQLb7dW6EnJrFsWZDyh0Yq0aFJU5UJ4i5QzYlTjU#h.moajj1qnb85l