使用OpenID作为我的网站的登录信息-冗余提供商

时间:2020-03-06 14:39:53  来源:igfitidea点击:

我如何在我的OpenID登录网站上支持冗余?

例如,我有一些要求100%正常运行时间的用户(是的,是的,但是让我们尽可能地接近)。

他们中的一些人使用的供应商较少(例如,他们自己的网站上的myphpid或者频繁停机的初创公司的ID)。现在,我可以将它们传送给更可靠的提供程序,但是我也希望有一些冗余。

我希望可以部署但对OpenID不够了解的一种解决方案是:

在具有相同凭据(哈希/密钥/等)但具有不同域(理想情况下,我具有循环DNS和相同名称)的不同托管服务上设置多个phpmyid域)。

这会工作吗?换句话说,我在不同的服务器上具有完全相同的phpmyid文件,包括凭据。我可以使用example.com/id和example2.com/id并期望它看起来与我端相同,所以我不必将多个OpenId帐户链接到系统中的每个用户吗?

当我使用phpmyid的示例时,问题是更笼统的是凭证是重要的,还是domain / ip / ????还以防止这种联系的方式?

是否存在一种标准,该标准允许一个人将其OpenID从一个提供程序移动到另一个提供程序,而不必在他们使用该Openid的每个网站上取消链接和重新链接?

-亚当

解决方案

我最近发布了一个问题"我如何使用多个OpenID?"的答案。这可能会解决问题。

专业提供商通常应通过在两个单独的服务器前安装一个负载平衡器来实现冗余服务,但是用户应在自定义域上托管XRDS文档(或者使用i名称),并引用不同的提供商(以进行回退)目的)

我们也可以在不同的服务器上托管相同的数据,但是循环轮询不会。这是因为循环仅充当简单的负载平衡器(它不检查主机是否可访问)。

OpenID是一个URL。 example.com/id和example2.com/id是两个不同的OpenID,与托管它们的提供商或者用户与这些提供商共享的凭据无关。 OpenID的可靠性实际上归结为托管该URL的可靠性。是的,我们可以在XRDS文档中定义后备提供程序,但是首先我们仍然必须能够从OpenID URL发现该文档。

因此,OpenID的可靠性技术在大多数情况下与具有固定URL的任何其他Web资源相同。而且,作为依赖方,我们对此无能为力。如我们所说,由用户选择适合自己需求的OpenID提供程序。我们可能会建议用户询问他们的OpenID提供程序是否有服务级别协议。

我们可以做的一件事就是允许用户将我们在应用程序中的帐户与多个OpenID相关联。