Apache 無法獲取header頭Authorization

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On   #開啓rewriteEngine

  #!-d的意思是不是目錄或目錄不存在
  RewriteCond %{REQUEST_FILENAME} !-d

  #!-f的意思是不是文件或文件不存在
  RewriteCond %{REQUEST_FILENAME} !-f

  #轉給index.php處理
  #^(.*)$-匹配所有的路徑映射到入口文件 index.php/$1($1爲變量1)
  #[QSA]-表示保留參數如get傳值?xxx==xx...;
  #[PT]-再把這個URL交給Apache處理;
  #[L]-這是最後一個匹配項,不再往下匹配
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

  #增加如下內容
  SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule>
————————————————
版權聲明:本文爲CSDN博主「Eleven 弦夜。」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43837229/article/details/101034248

另一種

rest接口採用HttpBearerAuth認證方式:

public function behaviors()
  {
      return ArrayHelper::merge( parent::behaviors(), [
          'authenticator' => [
              'class' => HttpBearerAuth::className(),
          ],
      ] );
}
————————————————
版權聲明:本文爲CSDN博主「Dorisnzy」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Dorisnzy/article/details/83143364

請求時在請這裏是列表文本求頭上帶上Authorization參數:

Authorization:Bearer your_token

但是在認證類中取不到該參數。 解決方法: 在.htaccess文件中加入

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章