Search code examples
openidjanrain

Janrain php-openid query corruption


im running the detect script for janrains php5 php-openid and I keep running into this error.

Query Corruption
================

Your web server seems to corrupt queries.  Received , expected a=%26b.
Check for mod_encoding.

and this

HTTP Fetching
=============

This PHP installation has support for libcurl. Good.

An HTTP request was completed. *An unexpected URL was returned:
<https://gist.github.com/raw/465630/c57eff55ebc0c54973903af5f72bac72762cf4f4/helloworld>.*

Your PHP installation appears to support SSL, so it will be able to process
HTTPS identity URLs and server URLs.

Ive located mod_encoding on the mod folder and enabled it, but im not sure what to do with it because I cant seem to find documentation on it easily. I am running the lastest apache php for debian lenny. I will have specific versions when I get home! Thanks!!


Solution

  • Regarding the unexpected URL: Lines 437 and 438 of detect.php (at least in the version I downloaded a few days ago) set the URL that it tries to fetch and the URL that it expects to be redirected to:

    $fetch_url = 'http://www.openidenabled.com/resources/php-fetch-test';
    $expected_url = $fetch_url . '.txt';
    

    So it's expecting that http://www.openidenabled.com/resources/php-fetch-test will be redirected to http://www.openidenabled.com/resources/php-fetch-test.txt. But as you can see if you go to the first URL in a browser, that's not what happens. My guess is that it was set up that way at some point, and at some later time the behavior changed, but no one every updated the detect.php script.

    In fact it appears that any URL (or at least all of the small number of URls that I've tried) in the www.openidenabled.com domain will redirect to http://www.janrain.com/openid-enabled.

    There are several things you can do about this. The easiest would be to ignore it as things are most likely behaving as expected and you will not experience any problems. (I get the same message when I run detect.php and my code otherwise works.)

    If you want to be a good citizen, log a bug with the project.

    If you want, you can set up your own redirect test or find URLs that are redirecting and change the value of $fetch_url and $expected_url in the detect.php script appropriately. Or leave $fetch_url as is but change the $expected_url value to http://www.janrain.com/openid-enabled.

    But in short, it's probably the case that nothing is wrong with your setup.