Lorsque le mécanisme d’authentification HTTP Basic du serveur a authentifié l’utilisateur courant, alors les variables PHP $_SERVER['PHP_AUTH_USER']
et $_SERVER['PHP_AUTH_PW']
sont définies et valent son identifiant et mot de passe http. SPIP vérifie alors si ces valeurs correspondent au login et mot de passe SPIP d’un auteur enregistré. Dans ce cas, le compte auteur correspondant est automatiquement logé.
Remarques
– La globale ignore_auth_http
permet de désactiver ce mécanisme : voir https://www.spip.net/fr_article5677.html.
– Sur certains serveurs (FPM/FastCGI...) il peut être nécessaire d’ajouter une ligne dans le fichier .htaccess
pour activer la définition des variables PHP.
Par exemple :SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
– L’authentification http Basic peut, par exemple, être assurée par un couple de fichiers .htaccess/.htpasswd
, ou activée via les headers d’un curl PHP :
curl_setopt ($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt ($ch, CURLOPT_USERPWD, "$username:$password");