从传入的 PHP 请求中获取自定义授权标头

2022-08-30 11:13:28

因此,我正在尝试解析PHP中的传入请求,该请求具有以下标头集:

Authorization: Custom Username

简单的问题:我到底该如何得到它?如果是,我可以从中获取用户名。如果是,我可以从中获取用户名。但这些都不是由自定义授权设置的,没有显示标头的提及(特别是缺少),PHP5函数就像只处理对传出请求的响应一样。我在Apache上运行PHP 5,并安装了开箱即用的Ubuntu。Authorization: Basic$_SERVER["PHP_AUTH_USER"]X-Custom-Authorization: Username$_SERVER["HTTP_X_CUSTOM_AUTHORIZATION"]var_dump($_SERVER)AUTH_TYPEget_headers()


答案 1

对于基于令牌的身份验证:

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

答案 2

如果你只打算使用Apache,你可能想看看apache_request_headers()


推荐