OpenID AX、Google 和 mod_rewrite
我正在尝试为我们的项目(Zend、PHP、Apache)实现 OpenID,但遇到了一个奇怪的问题。用户在提供商端进行身份验证并被发送回我们的网站后,apache 会给出 500 Internal Server Error 响应。日志完全空白。 我注意到,当将 OpenID AX 与 Google 一起使用时,它们返回的 URL 太大了。首先,我认为这与此处描述的问题有关: https:// /serverfault.com/questions/140852/rewriting-urls-with-parameter-length-255-dont-work
但显然我们使用的 htaccess 从来不检查任何文件是否存在,并且也没有真正执行正则表达式。事实上,它就像下面 3 行一样简单:
RewriteEngine on
RewriteRule (libs\/TinyMCE.*)$ - [L]
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]
关闭 AX - 让问题消失
I am trying to implemented an OpenID for our project(Zend, PHP, Apache), and hitting a weird problem. After user authenticates at the provider's side and is sent back to our website, apache gives 500 Internal Server Error response. Logs are completely blank.
I've noticed though that when using OpenID AX with Google, they returning way too large of a URL. First I thought that this is related to the problem described here: https://serverfault.com/questions/140852/rewritten-urls-with-parameter-length-255-dont-work
But apparently htaccess that we use, never checks any files for existence, and doesn't really do regex also. As a matter of fact it's as simple as 3 lines below:
RewriteEngine on
RewriteRule (libs\/TinyMCE.*)$ - [L]
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]
Turning off AX - makes problem go away
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用 Zend Open ID 创建了 OpenID Auth,
并添加了
如何使用 Zend OpenID 实现基于直接身份的 OpenID 身份验证
其 100 % 正常工作并且根本不使用 AX
例子 :
http://zc.dagho.com/index/login
唯一的问题是:我可以不要向谷歌询问用户的电子邮件、姓名等:(
但是关于您的问题可以尝试仔细检查
$returnTo
并在其他计算机上测试它
希望它可以提供线索
I had created OpenID Auth with Zend Open ID
with the addition from
How do I implement Direct Identity based OpenID authentication with Zend OpenID
its 100 % working and with out using the AX at all
example :
http://zc.dagho.com/index/login
the only problem is : i can't ask google about user's email , name etc :(
but regarding your problem can try to double check the
$returnTo
and test it on other machine
hopefully it might give a clue