-
-
Save mrniamster/e0f07f2f566a5c2b59dfead06f8c0fe2 to your computer and use it in GitHub Desktop.
PHP - How to get and set Bearer Token
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Get hearder Authorization | |
* */ | |
function getAuthorizationHeader(){ | |
$headers = null; | |
if (isset($_SERVER['Authorization'])) { | |
$headers = trim($_SERVER["Authorization"]); | |
} | |
else if (isset($_SERVER['HTTP_AUTHORIZATION'])) { //Nginx or fast CGI | |
$headers = trim($_SERVER["HTTP_AUTHORIZATION"]); | |
} elseif (function_exists('apache_request_headers')) { | |
$requestHeaders = apache_request_headers(); | |
// Server-side fix for bug in old Android versions (a nice side-effect of this fix means we don't care about capitalization for Authorization) | |
$requestHeaders = array_combine(array_map('ucwords', array_keys($requestHeaders)), array_values($requestHeaders)); | |
//print_r($requestHeaders); | |
if (isset($requestHeaders['Authorization'])) { | |
$headers = trim($requestHeaders['Authorization']); | |
} | |
} | |
return $headers; | |
} | |
/** | |
* get access token from header | |
* */ | |
function getBearerToken() { | |
$headers = $this->getAuthorizationHeader(); | |
// HEADER: Get the access token from the header | |
if (!empty($headers)) { | |
if (preg_match('/Bearer\s(\S+)/', $headers, $matches)) { | |
return $matches[1]; | |
} | |
} | |
return null; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment