laravel之组件dingo、jwt

介绍

dingo

       dingo api 包是给 laravel lumen 提供的 Restful 的工具包,它可以与 jwt组件一起配合快速的完成用户认证,同时对于数据和运行过程中所产生的异常能够捕获到并且可以做出对应的响应。
主要功能:
1. Router Version 路由版本管理
2. http Exception 异常处理
3. response transform 转化响应格式。
    
jwt
     jwt全称 JSON Web Tokens , 是一个非常轻巧的规范,这个规范允许我们使用 jwt 在用户和服务器之间传递安全
可靠的信息,他的主要使用场景为:认证与数据交换。
 

安装dingo

laravel安装及使用参考《laravel入门及技术指南》 https://blog.csdn.net/yan_dk/article/details/117375890
 
下载 dingo 扩展包的安装
# composer require dingo/api
配置环境配置文件env
发布 API 的配置文件 config 文件下:
# php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
[\vendor\dingo\api\config\api.php] To [\config\api.php]
建立控制器
# php artisan make:controller Api/V1/TestController
 
class TestController extends Controller
{
    public function test(){
        return "this is test";
    }
}

 建立路由文件 routes/api.php

$api = app('Dingo\Api\Routing\Router');
$api->version('v1',[
    'middleware' => ['bindings'],
    'namespace' => "App\Http\Controllers\Api\V1"
],function ($api){
    $api->get("test","TestController@test")->name("test.test");
});

浏览器访问http://ip:port/api/test

原理通了,用dingo做restful风格的api路由,自行封装处理吧。

安装jwt

# composer require tymon/jwt-auth
发布 API 的配置文件到 config 文件下:
# php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
.env 文件中生成 jwt 加密秘钥
# php artisan jwt:secret
env文件自动生成如下:
config/api.php配置jwt
'auth' => [ 
  'jwt' => 'Dingo\Api\Auth\Provider\JWT', 
],
config/auth.php配置jwt
红色部分改为jwt,就集成了jwt组件接口
注意:还有一个认证user对象也要修改
 'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
        ],
...

//上面这里默认'model' => App\User::class, 根据实际项目改成相应的User包路径。

 

 
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云焰

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值