如何在Laravel中同时使用web和api守卫?
How to use web and api guards at the same time in Laravel?
我构建了包含两个部分的应用程序:RESTful 部分用于手机和网络。
如何同时使用web/api个守卫?我可以使用 stadart 网络表单注册用户,并接受像 Restful?
这样的请求
使用auth:api
中间件
保护您的api 的任何路由
Route::group(['middleware' => ['auth:api']], function(){
//protected routes for API
});
我们必须确保您的 users
table 有一个 api_token
列:
php artisan make:migration alter_users_table_add_api_token_column
然后在 up
函数内部:
Schema::table('users', function($table){
$table->string('api_token', 60)->unique(); //this must be 60 characters
});
最后在您的 App\Http\Controllers\Auth\RegisterController
中,修改创建文件以添加您的 api_token
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'api_token' => str_random(60) //add this
]);
}
现在对 auth:api
受保护路由的请求将需要在其负载中包含 api_token
。
我构建了包含两个部分的应用程序:RESTful 部分用于手机和网络。
如何同时使用web/api个守卫?我可以使用 stadart 网络表单注册用户,并接受像 Restful?
这样的请求使用auth:api
中间件
Route::group(['middleware' => ['auth:api']], function(){
//protected routes for API
});
我们必须确保您的 users
table 有一个 api_token
列:
php artisan make:migration alter_users_table_add_api_token_column
然后在 up
函数内部:
Schema::table('users', function($table){
$table->string('api_token', 60)->unique(); //this must be 60 characters
});
最后在您的 App\Http\Controllers\Auth\RegisterController
中,修改创建文件以添加您的 api_token
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'api_token' => str_random(60) //add this
]);
}
现在对 auth:api
受保护路由的请求将需要在其负载中包含 api_token
。