-
-
Save Cloud-Dark/d197303ae7cf9c13c6765a7d0a6cb094 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