先说我走过的坑:
我用了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 下载开发者版本
![](https://img.haomeiwen.com/i3496832/c43d90307f562c32.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
做点修改
![](https://img.haomeiwen.com/i3496832/c5dc7bbb89c5b0ff.png)
![](https://img.haomeiwen.com/i3496832/7d9da48678fcb62c.png)
6 Model里要做点事情了,我的Model是
App/Models/Users
![](https://img.haomeiwen.com/i3496832/0a53db045a004b9f.png)
7 使用示例
先将JWTAuth注入
![](https://img.haomeiwen.com/i3496832/0165716725687dc2.png)
设置Token
![](https://img.haomeiwen.com/i3496832/865e4d2217897421.png)
![](https://img.haomeiwen.com/i3496832/4f666332422a17dd.png)
校验Token
![](https://img.haomeiwen.com/i3496832/91e5c9fd260fc09e.png)
在header
中添加如下头:
Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE
json格式,为了方便看
{
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwMDEvYWNjZXNzX3Rva2VuIiwiaWF0IjoxNDk2NTgzMjE1LCJleHAiOjE0OTY1ODY4MTUsIm5iZiI6MTQ5NjU4MzIxNSwianRpIjoidmlvRWd1RTNkTmtBODgxMyIsInN1YiI6MTMsInBydiI6ImRiYWEzMGJkNTRjNzUyNmI2MGIyN2UzNzk0ODI3ZmU4In0.ZZX5LNVe4qGJcWNrYO-f9EMFqVCF37cO4S0r_pxDyyE"
}
![](https://img.haomeiwen.com/i3496832/d2ea7fac98bbd1c4.png)
这样就OK了
网友评论