Я разрабатываю API, который будет использоваться мобильным приложением, но у меня есть несколько вопросов, касающихся безопасности.
Мобильное приложение - это портал вакансий, где кандидаты могут войти в систему и зарегистрироваться, а затем управлять своей информацией.
В моей папке маршрутов api.php у меня будут все маршруты, связанные с пользователем, то есть добавление, удаление, редактирование его информации, заданий и т. Д.
Но тогда у меня будут другие маршрутыскажем, связанные с системой, например, перечисление новостей, блога ... Эти маршруты не могут быть разрешены пользователями по запросу, поскольку это система / приложение маршрутов.
Но в целом все маршруты не могут быть доступны для общественности, только маршруты могут использовать эти маршруты.
Большинство маршрутов, которые я вижу в API, выглядят так:
Route::get('latest-news', 'SiteController@news');
Route::post('login', 'PassportController@login');
Route::post('register', 'PassportController@register');
Route::middleware('auth:api')->group(function () {
//USERS
Route::get('users', 'UserController@index');
//Route::get('users/{id}', 'UserController@show');
Route::post('users', 'UserController@store');
Route::put('users/{user}', 'UserController@update');
Route::delete('users/{id}', 'UserController@destroy');
Route::any('errors', 'UserController@errors');
});
Логин, регистрация и последние новости доступны для общественности, любой может получить к ним доступ, и я мог бы решить проблему, поместив маршруты в промежуточное ПО 'auth: api', но затем у меня возникла проблема:пользователи могут получить доступ к этим маршрутам.
Проблема, с которой я борюсь, заключается в том, что я не знаю, какие типы грантов мне следует использовать?Клиент?Пароль?И то и другое?Как мне справиться с такими ситуациями?