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 下载开发者版本

Laravel5.4 Jwt 1.0 beta 配置_第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 做点修改

Laravel5.4 Jwt 1.0 beta 配置_第2张图片
指定guard
Laravel5.4 Jwt 1.0 beta 配置_第3张图片
Model的修改

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

Laravel5.4 Jwt 1.0 beta 配置_第4张图片
最重要的东西

7 使用示例

  1. 先将JWTAuth注入
Laravel5.4 Jwt 1.0 beta 配置_第5张图片
注入JWTAuth
  1. 设置Token
Laravel5.4 Jwt 1.0 beta 配置_第6张图片
获取Token
Laravel5.4 Jwt 1.0 beta 配置_第7张图片
获取Token效果
  1. 校验Token
Laravel5.4 Jwt 1.0 beta 配置_第8张图片
校验Token

header中添加如下头:

Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE

json格式,为了方便看

{
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE"
}
Laravel5.4 Jwt 1.0 beta 配置_第9张图片
校验效果图

这样就OK了

你可能感兴趣的:(Laravel5.4 Jwt 1.0 beta 配置)