JWT-Json Web Token,一种基于json格式的开放标准,常常被用作替代cookie的认证方式,特别适合前后端分离的WEB应用,以及api接口。今天就讲讲如何在Laravel应用中使用JWT,虽然网上找到的Laravel集成JWT的方法,不过要么就坑点太多,要么就有诸多限制(比如要验证的模型有多个怎么配置)。
实验环境
- Laravel 5.2+
- PHP 5.5+
- tymon/jwt-auth 1.0.0-beta.3 (十分重要)
- 我用的是 tymon/jwt-auth:^1.0.0
利用composer安装jwt-atuh
composer require tymon/jwt-auth:^1.0.0
如果安装出先一下错误:
Problem 1
- The requested package tymon/jwt-auth ^1.0.0 is satisfiable by tymon/jwt-auth[1.0.0-alpha.2, 1.0.0-alpha.3, 1.0.0-alpha1, 1.0.0-beta.1, 1.0.0-beta.2, 1.0.0-beta.3, 1.0.0-rc.1, 1.0.0-rc.2, 1.0.x-dev] but these conflict with your requirements or minimum-stability.
可以配置你的 composer.json 文件,在底部加入:
"minimum-stability": "dev", "prefer-stable": true
然后继续,即可成功安装
配置你的用户表(用户模型)
因为Jwt-auth默认用的是Laravel的auth权限管理,Laravel 的权限管理默认用的是项目一开始就有的User模型(/app/User.php),下面姑且先用着Laravel的User模型为例,至于如何自定义用户模型使用其他表,我待会再讲
文章转载自:https://dawnki.github.io/2017/07/27/JWT/