Jwtauth 自定義認證頭資訊

Alan_Tian發表於2020-07-21

Laravel使用JWT認證如何自定義頭資訊

我們檢視jwt包可以找到Tymon\JWTAuth\Http\Parser\AuthHeaders 物件如下圖
這個物件中提供了修改頭資訊的方法,只需要呼叫即可。
Jwtauth 自定義認證頭資訊

第二步 怎麼修改

我是這樣來自定義認證頭資訊的
我們專案中有個Middleware
這個Middleware繼承了JWT的Tymon\JWTAuth\Http\Middleware\BaseMiddleware
所以在這個Middleware中的handle方法中可以新增下面這些程式碼來修改頭資訊

        /**
         * @var Tymon\JWTAuth\Http\Parser\AuthHeaders $authHeaders
         */
        $authHeaders = $this->auth->parser()->getChain()[0]; // 獲取AuthHeaders物件
        $authHeaders->setHeaderName('token'); // 設定新的headerName為'token'
        $authHeaders->setHeaderPrefix('');  // 設定新的headerPrefix為''

Jwtauth 自定義認證頭資訊

最後 再請求中使用自定義的header頭資訊

Jwtauth 自定義認證頭資訊

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章