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包路径。
 
 

猜你喜欢

转载自blog.csdn.net/yan_dk/article/details/117400791