Bei mir war es eine Installation von Ubuntu 14.04 mit Apache 2.4.7, in der der Authorization header nicht bei PHP ankam.
Mist baute Plesk, denn mit der selben Software auf einer anderen Maschine ohne Plesk gab es keine Probleme.
Auf dem Server mit Plesk gab es den HTTP Basic Auth header nicht. Um andere Fehlerquellen auszuschließen habe ich es mit folgendem Code getestet:
$headers = apache_request_headers(); if (isset($headers['Authorization'])) { echo 'you are auth'; } else { echo 'there is no Authorization'; }
Lösung war dann eine Zeile in der .htaccess:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1