php_auth_user headers example con autenticación _server php http-headers authorization

headers - Obteniendo el encabezado de Autorización personalizado de la solicitud entrante de PHP



php get headers (5)

Así que estoy tratando de analizar una solicitud entrante en PHP que tiene el siguiente conjunto de encabezado:

Authorization: Custom Username

Pregunta simple: ¿cómo demonios consigo ponerla en mis manos? Si era Authorization: Basic , podría obtener el nombre de usuario de $_SERVER["PHP_AUTH_USER"] . Si era X-Custom-Authorization: Username , podría obtener el nombre de usuario de $_SERVER["HTTP_X_CUSTOM_AUTHORIZATION"] . Pero ninguno de estos se establece mediante una Autorización personalizada, var_dump($_SERVER) revela que no se menciona el encabezado (en particular, falta AUTH_TYPE ), y las funciones de PHP5 como get_headers() solo funcionan en las respuestas a solicitudes salientes. Estoy ejecutando PHP 5 en Apache con una instalación de Ubuntu lista para usar.


Agregue este código en su .htaccess

RewriteEngine On RewriteRule .* - [e=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Pase su encabezado como Authorization: {auth_code} y finalmente obtendrá el código de Autorización usando $_SERVER[''HTTP_AUTHORIZATION'']


Para autenticación basada en token:

$token = null; $headers = apache_request_headers(); if(isset($headers[''Authorization''])){ $matches = array(); preg_match(''/Token token="(.*)"/'', $headers[''Authorization''], $matches); if(isset($matches[1])){ $token = $matches[1]; } }




Uso de juste:

$headers = apache_request_headers(); $token = $headers[''token''];