I have implemented logon code on a local test machine (Windows & IIS), and on a remote server. In IIS, it "works", taking the request_curl route. On the server, it takes the request_streams route, and fails.
By inserting a lot of trace messages in the code, I find that it in fact succeeds, then fails. Here's how:
In request_streams, the statement
$data = file_get_contents($url, false, $context);
returns "is_valid:true...". Unfortunately, the code goes on to deal with response headers and then executes a statement identical to the one above, which this time returns "is_valid:false...".
Since I'm unsure of what request_streams is really trying to do at this point, I'm loathe to simply delete the problem statement and return $data.
Can anyone explain what the code should be doing here? Does the code need fixing, or might I have done something to muck it up somehow?
It's a bug with the current stable version. Use the version from gitorious, which has it fixed.