Sui piani hosting topweb e topwebplus PHP è configurato in modalità Fast-CGI e pertanto non vengono direttamente "recuperati" gli authentication headers (Basic, Bearer, etc). E' necessario tener presente che sui nostri prodotti viene aggiunto il prefisso REDIRECT_ alle richieste .

Per recuperare $_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'] con autenticazione Basic oppure $_SERVER['PHP_AUTH_BEARER'] con autenticazione Bearer  consigliamo di aggiungere all'inizio dello script questo codice:

if(preg_match('/Basic+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) {
    list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6)));
}else if (preg_match('/Bearer+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) { $_SERVER['PHP_AUTH_BEARER'] = $matches[1]; }

//esempio recupero variabili:
echo 'HTTP_AUTHORIZATION: '.$_SERVER['HTTP_AUTHORIZATION'].PHP_EOL;
echo 'PHP_AUTH_USER: '.$_SERVER['PHP_AUTH_USER'].PHP_EOL;
echo 'PHP_AUTH_PW: '.$_SERVER['PHP_AUTH_PW'].PHP_EOL;

Nota: Va inoltre inserito nel file .htaccess la seguente direttiva:

RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 

per spostare gli headers di richiesta per l'autenticazione nella variabile $_SERVER['HTTP_AUTHORIZATION'] 

Ora possiamo provare con una chiamata curl, es:

curl https://[NOME_DOMINIO]/index.php -H "Authorization: Basic bG9naW46cGFzc3dvcmQ"