我刚开始探索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?