Fetching custom Authorization header from incoming PHP request

For token based auth:

  $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];
    }
  } 

Just use:

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

If you're only going to use Apache you might want to have a look at apache_request_headers().


Add this code into your .htaccess

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

Pass your header like Authorization: {auth_code} and finally you get the Authorization code by using $_SERVER['HTTP_AUTHORIZATION']

Note: The above one is for apache, if you're using the nginx you don't need to update anything. you can get the value easily in nginx like:

if you are passing authorization key, you can get the key value by just putting the $_SERVER['HTTP_AUTHORIZATION']. just add HTTP_ as the prefix in $_SERVER for get anything like

postman_token => HTTP_POSTMAN_TOKEN
test_key => HTTP_TEST_KEY