php – 如何正确使用token的Bearer令牌?
浏览量:196
why:
提高安全性,因为如果在url中发送的标头中没有发送令牌,它将被网络系统记录,服务器日志
how:
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;
}
function getBearerToken() {
$headers = getAuthorizationHeader();
// HEADER: Get the access token from the header
if (!empty($headers)) {
if (preg_match(\/Bearers(S+)/\, $headers, $matches)) {
return $matches[1];
}
}
return null;
}


感谢支持与鼓励~