Laravel JWT最佳实践 - 授权,中间件和数据库

时间:2016-02-01 12:31:11

标签: php laravel jwt

我刚开始探索Laravel's JWT Authorisation, 我已成功将其安装到我的Laravel 5.1上并对其进行授权并通过Postman进行测试。

最佳实践 我已经想到了,关于JWT最佳实践,我在stackoverflow上看到了一些post,但我现在还不确定我是否正确地使用了我的Laravel应用程序?

1。刷新令牌

以下是 config / jwt.php 设置,遵循post关于JWT< UX>的建议

'ttl' => 10080, //1week
'refresh_ttl' => 60, // 1 hours

2。中间件

这是将简单的JWT API中间件包装成jwt auth&刷新中间件?

Route::group(['prefix' => 'api'], function()
{
    Route::post('authenticate', 'AuthenticateController@authenticate');

    Route::group(['middleware' => 'jwt.auth', 'jwt.refresh'], function() {
        Route::resource('authenticate', 'AuthenticateController', ['only' => ['index']]);
        Route::get('authenticate/user', 'AuthenticateController@getAuthenticatedUser');
        Route::get('authenticate/logout', 'AuthenticateController@logout');
        //Other api call that modify user's db....
        Route::post('update_address/', 'otherAPIController@update_address');
        Route::post('update_password/', 'otherAPIController@update_password');
        Route::post('insert_other_stuff/', 'otherAPIController@insert_other_stuff');
    });
});

第3。数据库

最好不要大量修改默认用户数据库吗? 下面是我的数据库结构

users : 
- id,uuid,name,email,password,remember_token,created_at,updated_at

users_information :
- id,uuid,address,telephone,first_name,last_name,created_at,updated_at

或者可能有

users_role :
- id,uuid,role_id,role_group,role_description,created_at,updated_at

分隔用户的表格是否合适,我们查询其他信息,因为我们使用用户的 uuid 值使用valid_token授权JWT?

0 个答案:

没有答案