基本上,您不需要信任 OpenID 提供者:用户信任。
让我们从严格的身份验证角度将密码与 OpenID 进行比较。
- 密码:用户:“嘿,服务器,是我!你知道是我,因为没有人知道这个神奇的词
correcthorsebatterystaple
,我在创建帐户时告诉过你。”
- OpenID:用户:“嘿,服务器,是我!你知道是我,因为说是我,当我创建帐户时,当它说是我时
johndoeblog.com/openid
,我告诉你要相信。”johndoeblog.com/openid
在这两种情况下,作为服务器,您都依赖于用户选择可靠身份验证方法的意愿和能力。使用密码,用户必须选择一个其他人都不知道的密码。使用 OpenID,用户必须选择其他人无法使用的 OpenID 端点。
出于身份验证的目的,作为服务器运营商,没有理由偏爱一个 OpenID 提供者而不是另一个。您可能(或可能不)更愿意推荐您认为可靠的 OpenID 提供者,但您无需以任何方式信任 OpenID 提供者即可对用户进行身份验证。
这两种情况同样依赖于用户的配合,以确保支付的用户是使用服务的用户。经过密码验证的用户可以共享他们的密码;OpenID 认证的用户可以允许使用他们的 OpenID 端点。
所有这一切都是因为您只关心用户在您的服务器上作为帐户 #1234 的身份。如果您想知道帐户#1234 的所有者被 Syldavia 政府称为 Joe Bloggs,那当然会完全不同:那么您需要信任 OpenID 提供者为您提供 Joe Bloggs 的真实姓名。
信任 OpenID 提供商的一个次要原因是减轻限制帐户创建率的工作:如果您知道 Myriad 已采取措施限制帐户创建率,并且您只接受 Myriad OpenID 帐户,那么这会自动限制帐户创建为您的服务评分。这不适用于您:鉴于您正在运行付费服务,帐户创建率限制是内置的。