Laravel5.4 Jwt 1.0 beta 配置

先說我走過的坑:

我用了Laravel5.4,require了jwt的0.5.11版本,簡直被坑哭了。

前期一帆風順,當你要驗證用戶的時候,就會報一個錯誤:

Auth guard driver [api] is not defined.

宣告這個搭配已經Over了,我一路在源碼dd也沒dd出什么。

看了github的Issue,5.3及以上貌似就需要使用1.0.0beta版本了。

看Issue的時候,說的一本正經的那個朋友是個外國人,沒怎么看懂,就照著開發版的源碼看了一遍。

想看的可以看看這個: https://github.com/tymondesigns/jwt-auth/issues/860

好吧,差不多懂了,開搞:

1 下載開發者版本

image.png

修改composer.json,添加 "tymon/jwt-auth": "dev-develop"

2 在 config/app.php 中添加provider

Tymon\JWTAuth\Providers\LaravelServiceProvider::class

3 發布配置

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

4 生成個密鑰

php artisan jwt:secret

5 config/auth.php 做點修改

指定guard
Model的修改

6 Model里要做點事情了,我的Model是 App/Models/Users

最重要的東西

7 使用示例

  1. 先將JWTAuth注入
注入JWTAuth
  1. 設置Token
獲取Token
獲取Token效果
  1. 校驗Token
校驗Token

header中添加如下頭:

Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE

json格式,為了方便看

{
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE"
}
校驗效果圖

這樣就OK了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容