2016-05-11 8 views
1

Ich schreibe ein API mit PHP ZF2 sie verwenden HTTP Autorisierung. Ich hole alle HTTP Headers mit apache_request_headers() (auch mit ZF2 der getesteten $this->getRequest()->getHeaders()).aktivieren Apache http Autorisierung Header

Es funktioniert auf meinem locale installierte Version. Aber auf meinem Server die HTTP-Authorization-Header sind nicht verfügbar. Mein Browser Debug-Tool mir zeigen, dass der Authorization-Header richtig schicken Ubuntu 14.04 mit Apache2 (Server-Version: Apache/2.4.7 (Ubuntu))

aktiviert apache2 Module (auth_basic aktiviert ist).. mit der gleichen Software

Beide Server ausgeführt werdenenabled Apache2 modules

Gibt es eine PHP ini Einstellung, Autorisierung Header zu erlauben?

bearbeiten 2015.05.13:

$headers = apache_request_headers(); 
if (isset($headers['Authorization'])) { 
    echo 'you are auth'; 
} else { 
    echo 'there is no Authorization'; 
} 

Auf meinem locale System gibt 'Sie Auth sind', auf dem Server 'gibt es keine Berechtigung'. Getestet mit der Postman App im Chrome Browser.

bearbeiten 2015-05-14: Ich denke, es ist ein Apache2-Thema.

Wie kann ich den Authorization-Header in Apache2 aktivieren?

Antwort

3
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 

im .htaccess löst das Problem.

Aber ich weiß nicht, warum das auf meinem Gebietsschema nicht notwendig ist.

+0

Funktioniert gut, pro antwort :) –