OpenID真的那么糟糕吗?


31

在Quora上看到了这个问题,很多人似乎都同意OpenID不好,甚至可以说:

OpenID是我一生中见过的最糟糕的“解决方案”,这个问题大多数人并没有

然后,我看到涉及该问题的文章和推文说OpenID丢失了,Facebook赢了。

这是可悲的阅读,因为我很喜欢的OpenID(或至少它的设计思想)。我真的讨厌再为页面输入另一个登录名/密码(无论如何我都会忘记的)-这对我来说是一个非常严重的问题,我知道很多人都遇到同样的问题。因此,我认为OpenId是一个很好的解决方案,但是我不确定。

所以问题是我还是应该去实施OpenID还是不值得?从用户角度来看,最可靠,最方便的方法是识别和认证用户?


7
OpenID有其缺陷,但是由于我没有听到任何更好的替代方法,因此我不会说它丢失了。Facebook不是OpenID的替代方案,因为它是集中式的,而且很多人根本不想拥有Facebook帐户。值得付出努力吗?以我的主观观点,是这样。

Answers:


13

由于一个被忽略的事实总是会引起讨论:OpenID从未被设计为登录协议。那是后来的错误归因。

OpenID被认为是主页URL验证服务。为此,它是可行的。但是由于缺乏替代方案,它很快被重新用作通用的登录协议。一些功能(简化的注册,属性交换)经过精心设计,以更好地实现这一点。但是,OpenID的核心是URL权限验证方案。

这是可用性和实现错误的来源。多重登录的优势仅对技术仿射用户有意义,而对普通用户而言并不是真正的简化。(不要让我开始了解健壮性;只是挽救了我的Stackoverflow登录名。)
但是,仍然没有广泛的或技术上更优越的替代方案(有一些以前的OpenID,但缺乏流行语和市场推广)。作为一个狂热的开源支持者,我什至会考虑使用Microsoft Passport或Cardspace来解决问题,但是目前这不是一个选择。

回到您的问题:坚持使用OpenID。对于普通用户,可以使用老式的用户名/密码对,而OpenID是可选的。也许OpenID3被广泛采用并解决了一些问题。也许还会有其他事情发生。这个概念背后的总体思路很酷。


这是一个有趣的事实,我不知道。谢谢您的回答正如我之前提到的,我担心实现“一切”(按照我对@DeveloperArt帖子的评论)会吓跑和/或使用户困惑,但也许我错了,如果做得很好,这就是最好的解决方案?
DoPPler

11

您不能同时实现吗?

每个人都根据自己的偏好和偏执状态来选择选项。

OpenID提供了极大的便利。它还提供了更大的安全风险。

[用户风险]如果使用Facebook / Google / etc。确定您的帐户已被盗用,是否需要提供电话号码或护照副本才能重新启用?你会去吗?

[公司风险]如果使用Facebook / Google / etc。决定关闭其服务或开始为此收费?然后,作为网站所有者,您就大为困惑。

[数据间谍活动]为什么让他们从许多消费者站点收集详细的统计数据,并帮助他们建立个人的个人资料?谁知道他们会怎么做?出售它,使用它来调整其营销策略,然后将其提交给CIA?

伙计,它是如此基本和简单-避免依赖任何人,自己决定何时以及如果发生什么情况。


我可以去实现两个,这是真的。我可以通过URL添加对任何OpenID提供程序的支持,然后列出3-4个最受欢迎的OpenID提供程序,然后为Facebook和Twitter添加OAuth支持,然后为用户添加我自己的旧(好?)登录/密码/电子邮件注册/登录表单不用担心再输入密码。问题是我不想吓users我的用户-我只希望他们能够快速登录。至于提到的安全风险-这些真的那么吗?
DoPPler

它们发生的可能性并不大,但如果确实发生,其后果将是巨大的。

4
无论如何,请记住,许多人没有Facebook帐户,也不会创建它。拒绝他们访问是不明智的。

@Developer Art在这里有许多关于不依赖单个提供者,业务和个人的好处。Disqus和Wordpress评论系统已经意识到,它们使管理员(和用户)可以选择OpenID,Yahoo,Google,Facebook,Twitter,甚至更多。并提供关联ID的机会,但不需要它。第二个好处:避免让一个实体汇总您的信息!如此真实。无论如何可能会发生。为什么每次都使用相同的提供程序会更容易?另外:全脸书,仅脸书世界不是解决方案!希望我能给你更多的支持。
Ellie Kesselman

你对OpenID的论点实际上是参数 OpenID的!任何人都可以启动自己的OpenID授权。我不必创建Google或Facebook帐户即可登录使用OpenID的网站。既然Google已经取消了OpenID的使用,以此来推广他们的Google+服务,其他人也可能也会这样做,而我们已经为争取登录站点的真正开放标准而战。
布拉德

5

实际上,我认为OpenID的主要问题不是实现,还是用户友好性很差。我也不认为这是OpenID本身的安全问题。我认为主要问题是这是一种寻找问题的解决方案-对于大多数用户而言,这个问题实际上并不是什么大问题。

对于必须记住大量密码等问题的更好解决方案是使用密码管理器应用程序。密码管理器甚至会为您简化注册过程,因为它会自动填充所有常用字段(名称等)并自动生成一个随机密码。通常,您要做的唯一一件事就是验证您的电子邮件地址。


这与Quora的一般观点非常接近,但我已经从我的技术和非技术朋友那里多次听到,他们在跟踪多个密码方面存在问题,因此我认为这是一个“不存在”的问题(但是,它可能比我做的麻烦少)。当然,使用密码管理器是一些解决方案(并非没有缺陷),但是我正在寻找一种可以实施的技术,以帮助访问者获得更好的演唱体验。
DoPPler

1

openid或更普遍的问题是,在网站上选择了帐户提供商以登录到您的网站时,用户往往会忘记他们之前选择的提供商。他们有一天可以使用Google,下个月可以使用Facebook,三个月后可以使用Twitter。对于该网站,它将看起来像三个不同的用户。在这种情况下,用户会感到沮丧,因为他们可以登录到您的系统,但无法登录到以前的帐户。


1
你确定吗?我第一次听说OpenID时就想知道同样的事情。我已经尝试过测试自己,看看您描述的内容是否正确。有时,就像在StackExchange上一样,使用其OpenID实现。但是其他网站确实可以正确关联过去的登录信息,或者询问我是否拥有先前的帐户,并以一般方式指示过去的OpenID提供者。也许是因为结合了OpenID-OAuth登录?我不知道。但是我同意你的看法,用户确实会忘记他们之前选择的提供商!这是一个真正的问题。
Ellie Kesselman

0

如我所见,OpenID的主要问题有两个:

  • A)对于非技术人员而言,它并不友好
  • B)它没有像替代品那样广泛使用

在A上,对于用户而言,“使用Facebook登录”按钮很容易获得。看到带有10个图标(Google,Yahoo,AOL等)的控件,这很令人困惑。更重要的是,“登录”是URL,许多人不知道它存在,因为他们所做的只是在Bing / Google中键入搜索内容,然后点击链接。我知道很多人在访问Facebook时会在Google中搜索Facebook,然后单击链接,不要试图向他们解释域的概念!

在B上,Facebook是标准。有点像PayPal及其替代品:对于电子商务而言,PayPal可能由于交易费用而不是最佳的价格选择,但是如果他们不使用PayPal,则会冒许多潜在客户的风险。关于登录是相同的:Facebook向5亿用户开放您的网站,这些用户是活跃的互联网用户,并且精通技术,因此很可能“获得”您的网站。老实说,为什么您要花更多的时间支持其他事情?花时间开发产品!

由于使用B,A变得更糟,因为用户希望使用Facebook登录,而Open ID会使他们更加困惑。

而且我不是从《代码恐怖》中已经讨论过的问题开始的,这些问题涉及用户使用不同的Open Id帐户登录同一站点以及可能引起的问题...

总而言之,我喜欢关于Open ID的想法,但是(可悲的是)Facebook做得更好。


4
我已经看到许多确实不好的实现。但是,我认为Stack Exchange上的实现非常好。您可能会更进一步,使体验与“使用Facebook登录”体验非常相似(Google和Yahoo也支持某种OAuth或OpenID / OAuth混合)。我完全同意以下事实:看到多个提供商可能会产生误导,并导致其他问题,但另一方面,这会给您的用户带来最大的灵活性(我也知道不使用Facebook的人)。
DoPPler

每次我进入SE的不同分支时都必须登录,这一事实使我感到实施效果很差。FFS,如果我使用OpenID在SO和Prog上注册,为什么在同一次访问中都要两次登录?这是进步吗?!?
德鲁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.