Header 授权不适用于子域

Header Authorization not working on Sub Domain

我的 API.

有这个基本授权功能
private function authorize() {
    $headers = apache_request_headers();
    if(isset($headers['Authorization'])){
        if ($headers['Authorization'] == '14abd57ece42d9489aeae6e1865064751') { //'akif&&nadeem'
            return true;
        }
    }
    return false;
}

它在我的 API 域上运行良好。com/api/actionname

但是当我尝试通过子域 subdomain.domain.com/api/actionname

访问我的 API 时,它不起作用 [授权失败]

所有代码都正确到位,API 无需授权即可完美运行。知道我该如何解决这个问题吗?

Headers 的输出如下:

array(9) {
   ["Host"]=>
     string(24) "ultimate.bleupage.online"
     ["Connection"]=>
     string(10) "keep-alive"
     ["User-Agent"]=>
     string(115) "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
     ["Cache-Control"]=>
     string(8) "no-cache"
     ["Postman-Token"]=>
     string(36) "6330a309-ffcf-d72e-936a-bf10ff154d45"
     ["Accept"]=>
     string(3) "*/*"
     ["Accept-Encoding"]=>
     string(13) "gzip, deflate"
     ["Accept-Language"]=>
    string(26) "en-GB,en-US;q=0.8,en;q=0.6"
     ["Cookie"]=>
     string(36) "PHPSESSID=p2m0cc7sq7kn8fk2motvrobnn4"
   }

尝试使用 Authorization 以外的一些其他参数键,例如 Auth,因为有时 Apache 会过滤掉授权 header 您可以在此处获得更多信息 Apache 2.4 + PHP-FPM and Authorization headers

您可以像这样访问(使用 $_SERVER):

$_SERVER['HTTP_AUTH']

或像这样(apache_request_headers):

apache_request_headers()['Auth'];