在网站上只使用OpenID身份validation有什么好处?

从我使用OpenID的经验来看,我看到了一些重大的缺点:

将单点故障添加到该站点
即使被发现,也不能由网站修复。 如果OpenID提供商closures三天,网站有什么资源可以让用户login和访问他们拥有的信息?

将用户引导至其他网站内容,并且每次login到您的网站
即使OpenID提供者没有错误,用户也会被redirect到他们的站点来login。 login页面包含内容和链接。 所以有一个机会实际上是从网站上拉下来的互联网兔子洞。

我为什么要将我的用户发送到其他公司的网站?
[注:我的提供者不再这样做,似乎已经解决了这个问题(现在)。]

为注册添加了一笔不小的时间
要注册该网站,新用户必须阅读新标准,select提供商并注册。 标准是技术人员应该同意的,以使用户体验无摩擦。 他们不应该在用户身上施加压力。

这是一个钓鱼者的梦想
OpenID是非常不安全的,在login时盗取用户的ID非常容易。 [摘自David Arno的答案 ]


对于所有的缺点,有一个好处是允许用户在互联网上login的次数更less。 如果一个站点select使用OpenID,那么希望使用该function的用户可以使用它。

我想了解的是:
一个网站获得OpenID 强制性的好处是什么?

下面的列表错过了最明显的一个:这是一个钓鱼者的梦想。 OpenID是非常不安全的,在login时盗取用户的ID非常容易。

马特·谢泼德(Matt Sheppard)在答复中指出:只使用OpenID的好处是,对于网站创build者来说,它没有什么麻烦,因为没有用户名和密码可以处理,也不需要用户帐户创build代码。

使OpenID成为强制性的好处在于,不需要编写网站的login代码(超出了OpenID集成),并且在存储用户密码等方面不需要采取任何预防措施。

没有自己的login代码也意味着不必处理很多支持问题,如重置丢失的密码等。

当然你的缺点大部分是有效的,所以我想这是一个权衡。

让我感到意外的是,没有更多的网站与特定的OpenID提供商build立密切的关系来简单地进行帐户注册阶段 – 即某种“您可以使用任何您喜欢的OpenID,但您现在也可以通过input一个用户名和密码等login页面,它自动为您select的提供商创build一个新的帐户。

将基础设施的一部分外包出去是一种好方法。 你不必担心丢失的密码等,别人为你做。

不过,我不确定我是否会专门使用它。 我还没有使用OpenID足以完全信任它,注册过程需要精简,直到> 90%的用户拥有OpenID。

添加到网站失败的关键点

uservoice中用于Stackoverflow的第三个最高想法是允许更改OpenID提供者。 并在评论中有build议,以允许更多的关联OpenID。 在多个OpenID可以与一个帐户关联的网站上,如果您的平常的OpenID提供商closures,您仍然可以使用另一个提供商(假设您已经将其与该网站关联)login。

而且,OpenID提供商的用户只是失败的一个关键问题。 其他OpenID提供商的其他用户可以继续logging。 随着时间的推移,你会期望用户将迁移到最可靠的提供商。

将用户引导至其他网站内容,并且每次login到您的网站

如果您已将OpenID提供程序设置为始终信任网站(或术语中的OpenID使用者),并且您已经login到您的OpenID提供程序,那么他们将直接将您redirect到该网站,甚至不会看到您的OpenID提供程序网站。

为注册添加一个非试用时间量

目前情况可能如此,但正如andyuk所说:“支持OpenID的网站越多,这个问题就越less。” 我希望在几年之内,大多数用户已经拥有了一个OpenID并知道它是什么。

从工程学的angular度来看,OpenID只是一个很大的好处,就是抽象出凭证 – authentication部分,用户可以selectauthentication方法,这比你想要为网站打造的任何东西都要复杂得多。 是的,一些OpenID提供商很容易被钓鱼。 另一方面,其他OpenID用户使用信息卡,硬件令牌或电话validation进行login,这些证书不能被钓鱼者捕获和重放。

正如Gabe Wachob 所说 :

想要在authentication方法上进行创新的人不一定是在networking上提供服务的创新者(运行Mediawiki,Drupal等的百万人中的任何一个)。 authentication创新和服务创新的“脱钩”在OpenID中是有价值的。

所以通过使用OpenID,您可以为您的用户提供更强大的身份validation方法。 抽象可以让你实现一个接口,然后你可以挑选任何提供者来使用,无论他们使用八字符密码明文还是挑战反应神经植入。

它鼓励用户注册OpenID,了解更多信息并希望自己传播。

堆栈溢出certificate只是支持OpenID可以工作。

“增加网站失败的关键点”

如果OpenID提供程序无法正常工作,则该站点应具有允许用户login和添加/更改OpenID提供程序的机制。 也许该网站可以发送电子邮件临时链接绕过安全,以便用户可以访问他们的帐户。

“把用户带到另一个网站的内容,并每次login到您的网站”

我的OpenID提供程序允许我信任给定的网站,所以我不需要甚至查看他们的网站。

“添加一个非试用时间的注册”

支持OpenID的网站越多,这个问题就越less。

作为网页开发人员,我是OpenID理念的忠实粉丝。 编写身份validation代码是一个痛苦的屁股。 作为networking用户,我是OpenID的忠实粉丝,对于像SO,论坛等非关键用途,因为一旦拥有了ID,这是join网站的一种非常简单的方式。

我认为,除了less数例外 – 像开发者社区之外 – 目前,您不能强制使用OpenID。 “平均”networking用户(不pipe是什么意思)都不明白。 但是,在这样的网站上推广它会提高开发人员的认识,这个想法最终将会逐渐淡化。 随着OpenID出现在越来越多的网站上,人们会查找它,意识到他们有一个,然后开始使用它。 为了让OpenID – 这是一个好主意 – 要赶上,需要有大量的用户和网站支持它。

最终,这只是“它的方式”,我们会奇怪为什么我们为每个网站创build了validation码,或者为什么我们要在网上的任何地方创build一个独特的身份

正如在其中一个播客中所讨论的那样,它增加了进入stream浪者的障碍,因为想知道这可能是他们应该在哪里发布他们的Yahoo! 回答问题。

这有点精英主义,但是特别是关注这个网站的重点,可以拒绝任何不了解Open IDstream程的人,任何真正有他们需要回答的真正问题的人都可能被困扰轻微的困难

从我使用OpenID的经验来看,我看到了一些重要的好处:

如果您select使用可信的OpenID提供者login,例如。 Verisign PIP + VIP可以享受带外SecureID身份validation机制的好处。 这应该被视为主要的好处超过所有其他人。 您不再信任您访问的网站上的任何蹩脚的基于表单的身份validation,您信任Verisign VIP或任何您select的OpenID提供商。

互联网兔子洞? 听起来像不好的执行,我为人不知道你指的是什么。

你不能轻易窃取authentication细节,它可以比我们已经有的更接近不可能! 您可能会欺骗我,以为我正在联系我的提供商,但Verisign有一个选项,不允许或接受redirect。 我将这些networking钓鱼问题看作是微不足道的,特别是如果您将其与您通过OpenID身份validation提供程序获得的带外身份validation机制的优势进行权衡。 所以说你一次捕获RSA密钥的细节,下一次不会有效,或者如果你使用浏览器证书,可能完全没用。

总之,OpenID只是当前系统的一个演变,一个电子邮件地址来validation。 如果您的电子邮件帐户是您当前的单点故障,那么您的OpenID可能是您的新单点故障,在您控制的OpenID不在您的控制范围内。 所以,如果您只信任您的电子邮件服务器,那么只需托pipe您自己的OpenIDurl即可。 如果您信任Gmail,请为您的OpenID使用Gmail地址,因为出于同样的原因,您已经将Gmail作为您的SSO信任,因为您的Gmail帐户最终可以检索您的帐户密码。

这是毫不费力的,但我可以看到有些人可能难以理解authentication机制的基本概念。 如果我可以用我的SecureID卡(通过我的OpenID提供者)login到我有一个帐户的网站,我会的。 所以如果这是唯一的select,我会接受!

添加到网站失败的临界点

这个关键的失败点可能是您发送的确认电子邮件,但是用户的邮箱是a)因打字错误而无法使用的,b)完整的或c)提供者是“closures”的。

将用户引导至其他网站内容,并且每次login到您的网站

我可以看到,但恕我直言 – 这不是那么糟糕。 我是说,Y! 似乎是最混乱的login之一,它也从来没有为我工作。 ;)除此之外,大多数OpenID提供者看起来并不那么糟糕。

另外,请记住你的观众。 如果妈妈和stream行音乐是你的用户,OpenID可能是混乱的地狱。 但在互联网上可能也是这样。 在SO的情况下,人们有些精明的用户,并知道他们想要什么。

为注册添加一个非试用时间量

这是一个非问题。 看一下提供者列表: http : //openid.net/get/

所以很多人至less有一个雅虎! 帐户,所以如果它真的有效。 这不会那么糟糕。 我同意,如果用户没有OpenID,并不知道它是什么。 教育他们并不容易。

并想想其中的含义 – “注册A站点,您需要在B站点注册”。 而我们都知道注册本身是一个痛苦的屁股。 但从长远来看,这也正是OpenID试图解决的问题。

在主stream领域,我目前看不到让OpenID成为强制性的价值。 我喜欢它作为一个附加。 只是人们如何提供“用你的Facebooklogin”等链接。然后,谁不明白(或不在乎)的人不需要打扰。 但其他人仍然可以使用它。

OpenID可能是自切片面包以来最伟大的事情,但我没有理由相信“他们”与我的身份 – 除了杰夫·阿特伍德/乔尔·斯波斯基让我这样做是为了在这里抱怨;-)

还有一点要提到。 你已经拥有一个OpenID的用户群,他们只需要login。

我主张OpenID,主要是从易用性的angular度来看。 我仍然相信这是安全的,但它有很大的潜力。 有很多事情可以这样说,但我只想回应以下两点:

为注册添加了一笔不小的时间

只是第一次安装。 此外,像雅虎这样的公司现在提供支持,许多人甚至不必费心设置一个OpenID,如果他们不想。 如果您使用Google或其他类似的OpenID提供商,您会看到它们本质上不安全吗? 多久你会期望他们有宕机?

这是一个钓鱼者的梦想

我确实接受这可能是部分真实的。 但是networking钓鱼不是一个社会问题而不是一个技术问题? OpenID可以使它更容易,但是这并不能消除真正的问题是用户的事实。 让用户了解钓鱼者如何操作比通过技术来保护他们更重要。

至lessOpenID发送给你的OpenID提供商login。
我正在阅读blogspot上的博客,有一个链接可以关注这个博客(大概是告诉我什么时候有新帖),这样做会popup一个框,询问我的Gmail用户名和密码。

即使假设这是真的,而不是一个钓鱼网站 – 他们现在(potentailly)login到我的Gmail,我的Google文档,我的Google应用程序 – 一切!

从长远来看,拥有OpenID的主要好处是可以看到的。 而不是必须申请到不同的网站的身份,你做了一次,然后在所有的网站上使用它需要一个独特的身份。 当然,对于像银行和交易这样的安全网站来说,它需要一种不同的思维方式。 但是对于社交网站等,您可以轻松使用它。

爸爸妈妈也会觉得很容易,因为现在他们只能记住一个用户名/密码。 很多时候,我们很难记住我们在哪个站点login了什么,最终使用站点B上的站点A的正确用户名/密码.OpenID将解决这个问题。 另外这对OpenID提供商和用户来说是一个很好的收入模式。 我可以进入一个这样的供应商所有的细节,我愿意给我每个这样的细节,我给我可以赚钱。

也许提供商可以哄我告诉我更多关于我自己作为一种激励,然后它可以出售到我注册的网站。 所以网站A支付我的信息OpenID。 然后OpenID把这一切传给我。 网站A不必pipe理用户,OpenID获取金钱,用户获得金钱,每个人都快乐:)

这样你就不必使OpenID成为强制性的。 人们自己会想要它。 然后,OpenID提供商将相互竞争,提供更好的服务,如果存在竞争,将会为所有相关方提供更好的价值。 我认为这是一个神话般的主意。

编辑:关于在一个特定供应商的停工时间; 如果OpenID提供者A不能提供100%的正常运行时间,则可以借助另一个提供者B的帮助,并且提供者A上的用户可以从选项提供者A给出的选项中select。 提供商Aauthentication用户的网站将知道在提供商A不能工作的情况下要去哪些其他提供商。 这将在第一次login时自动保存在数据库中。 有人想集思广益的实施细节? 🙂