brenodouglas/laraveljwt

0.2 2016-03-11 12:58 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:48:28 UTC


README

1. 依赖

使用 composer,执行以下命令以自动更新您的 composer.json

composer require brenodouglas/laraveljwt

或者手动更新您的 composer.json 文件

{
    "require": {
        "brenodouglas/laraveljwt": "^0.1.0"
    }
}

2. 提供者

您需要更新应用程序配置以注册包,使其可以被 Laravel 加载。只需更新您的 config/app.php 文件,在 'providers' 部分的末尾添加以下代码

// file START ommited
    'providers' => [
        // other providers ommited
        \LaravelJwt\JwtProvider::class,
    ],
// file END ommited

3. 发布配置文件

发布默认配置文件

php artisan vendor:publish

4. 使用中间件

为了保护您的路由,您可以使用内置的中间件。

在 get 或 header 中验证令牌并在 'access-token' 键中重新生成新令牌:authjwt

Route::get('foo', ['middleware' => ['authjwt'], function()
{
    return 'Yes I can!';
}]);

或者在控制器中

$this->middleware('authjwt');

5. 身份验证和 Facade

注册 Facade 并使用 Jwt 验证。只需更新您的 config/app.php 文件,在 'aliases' 部分的末尾添加以下代码

// file START ommited
    'aliases' => [
        // other aliases ommited
       'JWT' => \LaravelJwt\Facades\JwtAuthFacade::class
    ],
// file END ommited

一个示例路由身份验证和带 jwt 的受保护路由

Route::post("auth", function(\Illuminate\Http\Request $request) {
    return response()->json(['token'=> \JWT::authenticate($request)]);
});

Route::group(['middleware' => ['authjwt']], function($router) {
    $router->get('users', function() {
        return 'Yes, a can!';
    });
});

为 'auth' 路由发送 POST,原始正文为 json

{
    "email": "email@foryouruser.com",
    "password": "password"
}

返回的是包含 'token' 键的 json。