如何configurationsimpleid来声明我的ID?

我正在尝试使用simpleid将Apacheconfiguration为OpenID提供程序。

我遵循了这封信的指示 ,直到我看到“ 索要你的标识符 ”部分。

现在,这是我卡住的地方。

假设我的服务器位于http://example.com ,我的simpleid安装位于http://example.com/openid ,我已经build立了一个身份john.doe ,他的标识符URL是http:// example。 com / openid / john.doe 。

我可以去我的服务器的简单的login页面和login好吧。 仪表板显示了我设置的所有身份详细信息以及仪表板上的上述标识。

当我使用Open IDtesting网站login时,我得到2个结果,都不正确:

情况1

我在/openid/john.doe/index.html创build了一个文件,所以可以在http://example.com/openid/john.doe获得 ,其内容如下:

 <html> <head> <link rel="openid.server" href="http://example.com/openid/" /> <link rel="openid2.provider" href="http://example.com/openid/" /> </head> </html> 

当我尝试使用http://example.com/openid/john.doelogin到testing网站时,我被testing站点redirect到login页面。 当我使用用户名/密码login时,它会login我,但是抱怨我使用的ID与预期不符。 游戏结束。

情景2

我删除/openid/johndoe/index.html文件,以便http://example.com/openid/john.doe没有任何内容。

现在,当我尝试login时,它会将我login,向我显示用于login的身份的各种属性,然后提供以下错误。

 OpenID authentication failed: No matching endpoint found after discovering http://example.com/openid/john.doe. 

我不知道我在这里做错了什么。 任何帮助都感激不尽。

PS:我认为这应该用简单的标签。

奇怪的是,解决scheme是把HTML内容放在一个名为/openid/john.doe的文件中,而不是放在/openid/john.doe/index.html

现在工作正常。

我只是偶然发现了这个问题。 我有SimpleID在位于我的域的根目录的index.html中处理以下内容。

 <link rel="openid.server" href="https://openid.example.com/" /> <link rel="openid2.provider" href="https://openid.example.com/" /> 

我的OpenID是我网站的urlhttp://example.com 。 如果我在浏览器中导航到该网站并查看源代码 ,则在<head>部分中看到上述两行。

如果我导航到https://openid.example.com那么我将看到SimpleID仪表板login,并且可以使用我身份文件中设置的凭据login(例如http://example.com和我已经哈希的密码进入configuration)。

请注意,该configuration中的identity需要与加载上面的<link>标签可以find的页面的URL相同。 如果他们不匹配,那么它将无法工作。 也许这是OP的问题…

另一件要考虑的事情是SimpleID的最新版本说你需要为SimpleID服务器使用https

你正在与一个没有logging的function战斗。 您既不需要手动configuration用户的身份文件,也不需要从独立源提供。

它已经(正确)由SimpleID安装服务,在simpleid_documentroot / user / username下 (例如: https : //exampledomain.org/simpleid/user/exampleuser

为此,您需要在config.inc中启用SIMPLEID_CLEAN_URL,并将Apacheconfiguration为使用重写引擎(两个示例都包含在示例configuration文件中)。

将其用作身份validationURL将以最简单和最可靠的方式解决问题。