Я использую passport
в laravel
для аутентификации моих пользователей в API. Я могу аутентифицировать разные типы пользователей из разных таблиц и генерировать для них разные токены, но маршруты не защищены. Например. Пользователь может получить доступ к таким маршрутам
Route::group(['middleware' => 'auth:api'], function () {
Route::group(['prefix' => 'v1'], function () {
Route::get('get-seller-list','API\v1\SellersController@index');
});
});
и продавец может получить доступ к таким маршрутам, как
Route::group(['middleware' => 'auth:sellers'], function () {
Route::group(['prefix' => 'v1'], function () {
Route::get('get-seller-detail','API\v1\TestController@getDetails');
});
});
но эта middleware
проверка, похоже, не работает, поскольку я могу получить доступ ко всем маршрутам для продавцов, даже если я передал токен, сгенерированный для api, в заголовке Bearer.
Мой config / auth.php выглядит как
'guards' => [
'user' => [
'driver' => 'session',
'provider' => 'users',
],
'seller' => [
'driver' => 'passport',
'provider' => 'sellers',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],