仅使用OpenID身份验证在网站上有什么好处?

51

从我的OpenID经验来看,我发现有一些显著的缺点:

为站点添加了单点故障
即使站点检测到问题,也无法解决此故障。如果OpenID提供商停机三天,站点应该如何让其用户登录并访问他们所拥有的信息?

每次用户登录到您的站点,都会带用户到另一个网站的内容上
即使OpenID提供商没有错误,用户也被重定向到其网站以进行登录。登录页面具有内容和链接。因此,用户有可能会被吸引离开站点并进入互联网兔子洞。

我为什么要将我的用户发送到另一家公司的网站?
[注意:我的提供者不再这样做,似乎已经解决了这个问题(目前为止)].

注册过程需要花费相当长的时间
要在站点上注册新用户,必须阅读新标准、选择提供商并注册。标准是技术人员应该同意,以使用户体验无摩擦。它们不应该强加给用户。

这是钓鱼者的梦想
OpenID极其不安全,当用户登录时窃取其身份信息非常容易。[引用自David Arno下面的Answer]


尽管有缺点,使用 OpenID 可以让用户在网络上少登录一些账号。如果一个网站支持 OpenID,那么想使用这个功能的用户可以选择使用它。
我想了解的是:一个网站将 OpenID 设为强制性的,会得到什么好处?
15个回答

21

强制使用OpenID的好处在于网站的登录代码不需要编写(除了OpenID集成),也无需采取任何关于存储用户密码等方面的预防措施。

没有自己的登录代码也意味着不必处理诸如重置丢失密码等支持问题。

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

令我惊讶的是,没有更多的网站与特定的OpenID提供商建立密切联系,以简化账户注册阶段 - 例如某种“您可以使用任何喜欢的OpenID,但也可以通过输入用户名和密码等信息创建一个新账户”的登录页面,该页面将自动为您选择的提供商创建一个新账户。


这是大多数人已经写过多次的代码,但我同意它是有益的。 - Peter
处理与OpenID相关的支持问题可能比处理与用户名/密码相关的问题更糟糕。这不仅是因为大多数用户以前从未经历过这种情况,而且还因为出错的可能性更大。 - ibz
1
除了在帐户注册时让您使用OpenID提供者进行注册外,我认为如果网站本身成为OpenID提供者,它将加速采用速度。例如,SO可以说:“在此处使用您的OpenID登录或创建帐户”(您的帐户将成为可以稍后委派的OpenID)。 - skiphoppy
我完全同意skiphoppy的观点。但是...这样你就失去了不必自己处理用户名/密码的优势。 - GvS
1
如果您不自己存储个人数据,例如密码,那么遵守隐私法规就会更加容易。还有一个要点。 - ypnos
skiphoppy,我认为OpenID在网络上的问题是我们有太多的提供者而不足够的RPs。 - Andrew Arnott

8

将基础设施的一部分外包是一个不错的选择。您无需担心丢失密码等问题,因为有其他人替您处理。

不过,我不确定是否完全依赖它。我还没有充分使用OpenID以完全信任它,并且注册流程需要简化,直到有超过90%的用户都有OpenID。


7

为网站添加了一个关键的故障点

在 Stackoverflow 上,第三个最受欢迎的 uservoice 想法 是允许更改 OpenID 提供商。评论中还有建议允许关联多个 OpenID。在可以将多个 OpenID 关联到一个帐户的网站上,如果您通常使用的 OpenID 提供商出现故障,您仍然可以使用其他提供商登录(假设您已经将其与该网站关联)。

此外,这只是对不起作用的 OpenID 提供商的用户而言是一个关键的故障点。在其他 OpenID 提供商上的所有其他用户仍然可以继续登录。随着时间的推移,您会发现用户会迁移到最可靠的提供商。

将用户带到其他网站内容并且每次登录您的网站时都会发生

如果您已经设置您的 OpenID 提供商始终信任某个站点(或 OpenID 消费者),并且您已经登录到您的 OpenID 提供商,则它们将直接将您重定向回该站点,而无需您甚至看到您的 OpenID 提供商的站点。

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

目前可能是这样,但正如 andyuk 所说:“随着越来越多的网站支持 OpenID,这将不再是问题。” 我预计在未来几年中,大多数用户都将拥有 OpenID 并知道它是什么。


我真的不认为那是真的。自从OpenID发布以来,我就知道它了,只是几周前才注册了一个帐户来访问这个网站。我不会在其他任何地方使用它。而且我是一个相当懂技术的人;他们要说服新手会更加困难。 - thesmallprint
“我不会在其他地方使用它”是指您可以在其他地方使用它,但选择不使用,还是说没有其他站点可以使用它。我猜想应该是后者。一旦有10个您使用的接受OpenID的站点,拥有并使用一个将更有意义。 - Sam Hasler
@thesmallprint:我大约一年前创建了一个OpenID登录。一旦你拥有它,你会对有多少网站允许OpenID登录感到惊讶;如果你没有OpenID,我认为你大多数时候都不会注意到这一点。 - LKM
我已经拥有我的OpenID很长一段时间了,但从未使用过。当SO开始使用它时,我成为了自己的提供者。由于我已经在许多网站上拥有普通账户,因此使用OpenID对我来说并不起作用。我只有一个SO的登录,那就是我的OpenID,没有其他东西共享它。 - UnkwnTech

6
从工程角度来看,仅使用OpenID的一个重要好处是抽象出凭证认证部分,使用户可以选择比您为您的网站构建的任何方法都要复杂得多的身份验证方法。是的,一些OpenID提供程序很容易被钓鱼。另一方面,其他OpenID用户使用信息卡、硬件令牌或电话验证登录,这些是无法被钓鱼者捕获和重放的凭据。
正如Gabe Wachob所说:
“想要在身份验证方法方面创新的人……不必是那些在网络上提供服务的人(任何一个运行Mediawiki、Drupal等的数百万人之一)。身份验证创新和服务创新的“解耦”是OpenID的价值所在。”
因此,通过使用OpenID,您可以为用户提供更强大的身份验证方法。这种抽象让您实现一个接口,然后您可以选择任何提供商进行合作,无论他们是否使用明文中的八位字符密码或挑战-响应神经植入物。

3
  • 缺点列表中忽略了最显而易见的一点:这是钓鱼者的梦想。OpenID极其不安全,轻而易举地窃取用户的身份。
  • Matt Sheppard的回答正中要害:仅使用OpenID的好处在于对于网站创建者来说更方便,因为无需处理用户名和密码,也无需编写用户账号创建代码。

虽然我理解你的观点,但如果有人从StackOverflow要求我的信用卡号码,我会怀疑是否有问题。 :-) - Onorio Catenacci
11
只有当提供商使用用户名和密码时,OpenID 才会容易受到网络钓鱼攻击。很多提供商采用了抗网络钓鱼攻击的身份验证方式,这使得 OpenID 在任何 RP 网站上比标准的用户名和密码更加安全。 - Andrew Arnott
1
@Andrew,你能给出一些抗钓鱼凭证的例子吗?如果它们真的有效,这对于我来说是一个新的东西,可以完全改变我对开放ID的看法。 - David Arno
2
@David Arno:客户端证书、硬件令牌和OTP等。 - Troels Thomsen
@David Arno,谷歌已经有两步验证一段时间了。在那里,OpenID的安全性取决于提供者;对于谷歌来说,它非常安全,实际上比许多在线银行网站都要安全。 - CMircea
显示剩余3条评论

2

从我使用OpenID的经验来看,我发现有许多显著的优点:

如果您选择使用可信的OpenID提供者(例如Verisign PIP+VIP)登录,则可以享受到带外SecureID身份验证机制的好处。这应该被看作是最重要的好处,超过了所有其他好处。您不再信任您访问的站点上采用的任何烂大街的表单验证,而是信任Verisign VIP或您选择的任何OpenID提供者。

互联网兔洞?听起来像是糟糕的实现,我个人不知道您指的是什么。

您无法轻易窃取身份验证详细信息,它可以比我们已经拥有的更加接近不可能!您可能能够欺骗我认为我正在联系我的提供商,但Verisign等公司有一个选项不允许或接受重定向。我认为这些网络钓鱼问题也是微不足道的,特别是如果您将其与您通过OpenID身份验证提供程序获得的带外身份验证机制的好处进行比较。因此,假设您一次钓取了RSA密钥详细信息,那么下一次它将无效,或者如果您使用浏览器证书,则可能完全无用。

总之,OpenID只是当前系统的发展,即验证电子邮件地址。如果您的电子邮件帐户是当前的单点故障,则在您控制的OpenID不再在您的控制下时,您的OpenID可能成为新的单点故障。因此,如果您仅信任自己的电子邮件服务器,则只需托管自己的OpenID URL即可。如果您信任Gmail,则使用Gmail URL作为您的OpenID,因为同样的道理,您已经相信Gmail是您的SSO,因为您的Gmail帐户最终可以检索您的帐户密码。

这很简单,但我可以看到一些人可能难以理解身份验证机制的基本概念。如果我可以使用我的SecureID卡(通过我的OpenID提供者)登录我拥有帐户的站点,我会这样做。因此,如果它是唯一的选择,我会接受它!


2

正如其中一个播客中所讨论的那样,对于偶然发现并想在此发布他们的Yahoo! Answers问题的流浪者来说,这增加了进入门槛。

这有点精英主义,但考虑到该网站的重点特别是可以拒绝任何无法理解Open ID过程的人,而真正需要回答的问题的人可以克服任何轻微的困难。


2

它鼓励用户注册 OpenID,了解更多相关信息,并希望用户能够成为其支持者。

Stack Overflow 证明仅支持 OpenID 就可以发挥作用。

"增加了网站故障的关键点"

如果 OpenID 提供者无法正常工作,则该网站应该有一种机制允许用户登录并添加/更改 OpenID 提供者。也许该网站可以通过电子邮件发送一个临时链接以绕过安全性,以便用户访问其账户。

"将用户带到其他网站内容,并每次登录您的网站时都要这样做"

我的 OpenID 提供者允许我信任给定的网站,因此我甚至不需要查看其网站。

"增加了注册时间的非试用量"

随着越来越多的网站支持 OpenID,这个问题变得不那么重要了。


它鼓励用户注册OpenID账号... ...并希望他们自己成为传教士。我同意这是推动特定技术的一种方式(考虑到StackOverflow在内容上追求技术中立,这很有趣)。事实上,它并不是“鼓励”,而是强制。 - Peter

2
作为一名网站开发者,我非常喜欢OpenID的理念。编写身份验证代码真的很麻烦。作为一名网络用户,在像SO、论坛等非关键用途上,我也非常喜欢OpenID,因为一旦你拥有了这个ID,加入一个网站就变得非常简单。
我认为,除了一些例外情况 - 比如为开发人员提供社区支持 - 在此时此刻,你不能强制使用OpenID。"普通"网络用户(无论这意味着什么)不理解它。然而,在像这样的网站上推广它可以提高开发人员的意识,这个想法最终会传播下去。随着OpenID出现在越来越多的网站上,人们会了解它,意识到自己已经拥有它,然后开始使用它。为了让OpenID - 这是一个伟大的想法 - 获得成功,需要有足够数量的用户和站点支持它。
最终,它将成为"事实标准",我们会想知道为什么我们要为每个网站创建身份验证代码,或者为什么我们要在互联网上的每个地方创建唯一的身份。

1

为网站添加关键故障点

这个关键的故障点可能是您发送的确认电子邮件,但用户的邮箱有以下问题:a)由于输入错误不可用,b)已满或c)服务提供商“宕机”。

将用户带到其他网站的内容,并每次登录到您的网站

我可以理解,但在我看来,这并不是很糟糕。我的意思是,Y!似乎是最混乱的登录之一,而且对我来说从来没有起作用。;) 另外,大多数OpenID提供者看起来还不错(尚未出现问题)。

此外,请记住您的受众。如果您的用户是普通老百姓,那么OpenID可能会非常困惑。但互联网上的许多东西也可能如此。在SO的情况下,人们都是相当精明的用户,知道自己想要什么。

向注册添加非试用时间

这不是问题。请查看提供者列表: http://openid.net/get/

很多人至少拥有一个Yahoo!账户,所以如果它真的有效,那就不会那么糟糕。但我同意,如果用户没有OpenID,并且不知道它是用来干什么的,那么教育他们就不那么容易了。

再想想这个含义——“要在A网站注册,你需要在B网站注册”。我们都知道,光是注册就够烦人的了。但从长远来看,这也正是OpenID试图解决的问题。

在主流中,我目前看不到强制使用OpenID的价值。不过我喜欢它作为一个附加功能。就像人们提供“使用Facebook登录”等链接一样。那些不理解(或不关心)的人就不需要费心了。但其他人仍然可以使用它。


1
关于你提到的自定义登录的观点:“……由于打字错误、邮箱已满或服务商宕机,用户的邮箱不可用。”这是正确的,但如果他们的电子邮件帐户不起作用,他们也无法注册OpenID。 - Peter
如果您有OpenID,这不是问题。;) 正如我所说,机会并不太糟。除了我给您的链接上广告的那些之外,还有很多很多。 - Till
电子邮件问题只是一次注册问题。我的Technorati开放式ID在过去几天中出现了2-3次问题,我无法登录Stack Overflow。每次登录时都会出现故障点。 - Peter
我是我的OpenID提供者。如果有问题,我可以解决它。但即使如此,如果你选择一个可靠的提供者(就像选择一个可靠的网页主机一样),那么你不应该会有问题。不过,在广泛接受之前,这方面的提供者并不会很可靠。 - Adam Davis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接