我的机器上的localhost虚拟主机上运行了example-mysql.php LightOpenID提供程序脚本。我更新了表名和mysql_connect()参数,以便在本地机器上工作。我还在users表中创建了一个用户。
我使用example.php LightOpenID消费者脚本来测试提供程序脚本。一切工作,直到我得到"http://site1"想要访问,允许一次,允许始终,取消。按下允许按钮中的任何一个都会创建一个新的允许的站点行,但是页面只是用按钮再次刷新。它对数据库验证我的登录,否则我会得到"错误的用户/通过",但从未完成该过程并重定向我…
提供者脚本:https://gist.github.com/1072612消费者脚本:https://gist.github.com/1072613
您可能输入了错误的身份url。
例如,假设提供者位于provider.example.org:
一个不正确的标识是http://provider.example.org/example-mysql.php
。提供商将要求您输入登录名和密码,请求授权,然后无声地失败,因为http://provider.example.org/example-mysql.php
无法解析为任何登录。
http://provider.example.org/example-mysql.php?Mewp
是本例中正确的标识。
避免这种情况的一种方法是在url中没有登录时设置$op->select_id = true
,这将导致服务器将claimed_id和身份返回到正确的url(如google所做的)。