Dinggo与jwt鉴权
dinggo 是针对laravel/lumen框架的api开发工具包
基于api规范。它围绕三个主要功能:
1.route version路由版本管理
2.http exception异常处理
3.response transform转化响应格式
基于laravel下载dinggo
composer require dingo/api
发布api的配置文件到config中
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
jwt 全称JSON Web Tokens ,是一个非常轻巧的规范,这个规范允许我们使用jwt在用户和服务器之间传递安全可靠的信息,他的主要使用场景为:认证与数据交换
jwt的应用场景:
通常用于日志与数据交换,做身份认证
如登陆 通过jwt 使用用户名、密码验证用户信息 登陆成功获取token
安装jwt
在laravel根目录下通过composer进行jwt扩展包的安装,具体命令如下:
composer require tymon/jwt-auth
使用以下命令可以发布 API 的配置文件到 config 文件下:
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
配置jwt
在.env文件中生成jwt加密秘钥,具体命令如下:
php artisan jwt:secret
config/api.php
<?php
.
.
.
‘auth‘ => [
‘jwt‘ => ‘Dingo\Api\Auth\Provider\JWT‘,
],
.
.
.
?>
config/auth.php
<?php
‘guards‘ => [
‘web‘ => [
‘driver‘ => ‘session‘,
‘provider‘ => ‘users‘,
],
‘api‘ => [
‘driver‘ => ‘jwt‘,
‘provider‘ => ‘users‘,
‘hash‘ => false,
],
],
?>