Php ZendFramework和open ID登录,ZF是否最新?
我正在尝试将openID登录集成到ZF项目中(使用MVC)。我失败了。 当我跟踪代码时,我发现故障源于: OpenId/Consumer.php(第740行)。这些行尝试分析开放id协议版本 从向开放id提供程序发出的第一个请求开始。Php ZendFramework和open ID登录,ZF是否最新?,php,zend-framework,openid,Php,Zend Framework,Openid,我正在尝试将openID登录集成到ZF项目中(使用MVC)。我失败了。 当我跟踪代码时,我发现故障源于: OpenId/Consumer.php(第740行)。这些行尝试分析开放id协议版本 从向开放id提供程序发出的第一个请求开始。 ZF中的regexp希望接收带有链接标记的HTML: /<link[^>]*href=(["\ /]*href=([“\ 而当我看到来自谷歌的回复时, 我明白了,我得到了XML。 我使用的谷歌网址: 我从那里得到的结果是: <?xml v
ZF中的regexp希望接收带有链接标记的HTML:
/<link[^>]*href=(["\
/]*href=([“\
而当我看到来自谷歌的回复时,
我明白了,我得到了XML。
我使用的谷歌网址:
我从那里得到的结果是:
<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
<XRD>
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<Type>http://openid.net/srv/ax/1.0</Type>
<URI>https://www.google.com/accounts/o8/ud</URI>
</Service>
</XRD>
</xrds:XRDS>
http://specs.openid.net/auth/2.0/server
http://openid.net/srv/ax/1.0
https://www.google.com/accounts/o8/ud
我是否使用了指向google的错误链接?查看中的源代码,目前似乎不支持基于XRDS的发现:
/* TODO: OpenID 2.0 (7.3) XRI and Yadis discovery */
ZF目前支持基于HTML的文档,Google返回一个XDRS文档,其中包含端点地址和他们的OpenId输入URL。我找到了一个ZF的补丁,可以完成大部分功能谢谢。对于我第一次尝试使用OpenId时,我习惯于Google URL,认为它可以开箱即用。现在我可以停止撞头了。