我想成为我自己的OpenID提供者。
我主要需要它来登录使用OpenID 2.0的站点。对于老网站来说,对OpenID 1.1的支持将是很棒的。我对新的OpenID连接不太了解,所以我就不谈这个了。
我更希望只支持一个用户(对于多用户OpenID提供者来说,有一个问题),希望它更轻量级(这将使软件更容易审计,如果需要的话),它提供较少的攻击面,并且没有数据库就能工作。
发布于 2017-10-20 12:29:49
对于我自己的站点,我使用了基本上相当于OpenID转发的内容。我的站点是使用ikiwiki构建的,所以我使用元数据指令将OpenID委托添加到另一个域。这将在标题中创建以下HTML代码:
<link href="https://login.launchpad.net/+openid" rel="openid.server" />
<link href="https://login.launchpad.net/+openid" rel="openid2.provider" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid.delegate" />
<link href="https://login.launchpad.net/+id/xxxxxxx" rel="openid2.local_id" />
<meta http-equiv="X-XRDS-Location" content="https://login.launchpad.net/+id/xxxxxxx/+xrds" />因此,您可以在这里看到我委托给规范的规范的 启动板,但我也可以使用任何其他有帐户的OpenID提供者,包括Stack:
<!-- OpenID-2.0 delegated to stackexchange -->
<link rel="openid2.provider" href="https://openid.stackexchange.com/openid/provider" />
<link rel="openid2.local_id" href="https://openid.stackexchange.com/user/xxx-xxx-xxx-xxx-xxx" />Indieweb人员有一个关于如何进行这种转发的优秀教程。还有Wordpress,德鲁帕尔,可能还有其他插件可以帮你做到这一点。但老实说,考虑到HTML代码有多简单,我会争辩说,仅仅有一个静态HTML页面指向另一个提供程序可能比使用插件更简单。
我也考虑过运行我自己的OpenID提供者,轻量级的,没有数据库等等。我以这样的欺骗告终:看起来要简单得多。在谷歌,甚至是免费软件项目(如Drupal 8)基本上放弃了OpenID之后,我不确定OpenID的未来,所以我不想花太多的精力在它上。
我知道OpenID委托并不完全像运行您自己的提供者,但是考虑到您不想运行数据库,而且这是一个单独的用户,我觉得只运行一个带有静态页面的虚拟主机基本上就是一回事。您仍然需要运行一个are服务器,所以我可以说您正在运行一个OpenID提供程序。S只是一个实现细节,请求被转发给另一个。
https://softwarerecs.stackexchange.com/questions/25252
复制相似问题