phpMyId und PHP mittels FastCGI
Linux/OpenSource, PHP März 24th, 2008Das kleine Script phpMyID ist ein OpenID Identity provider für einen einzelnen Benutzer. Vorteil: keine Datenbank, kein Schreibzugriff auf das Dateisystem nötig und es ist schnell einzurichten.
Allerdings hatte ich Probleme, das Script auf einem Server mit PHP über FastCGI zu verwenden, obwohl das FastCGI Modul extra so konfiguriert ist, dass der Authorization Header (Apache 2.2) weitergereicht wird:
FastCgiConfig -pass-header Authorization
Trotzdem funktionierte das Script nicht wie gewünscht:
Missing expected authorization header.
Der Autor des Scriptes schreibt selber
// try to get the digest headers – what a PITA!
wenn es darum geht, den HTTP Authorization header zu greifen, denn hier müssen einige Fälle abgedeckt werden.
Als work-around für den PHP CGI Modus ist auch eine htaccess Datei mitgeliefert, die den Header als Variable verfügbar machen soll, doch das war mir zu aufwendig und intrusiv. Die Lösung ist ein kleiner Patch für phpMyID, in Zeile 223 von MyID.php füge man einfach ein
} elseif (isset($_SERVER['Authorization'])) {
$hdr = $_SERVER['Authorization'];
}
Ab da funktioniert alles wie gewünscht.
Neue Kommentare