Какие типы грантов использовать - PullRequest
0 голосов
/ 21 декабря 2018

Я разрабатываю 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', но затем у меня возникла проблема:пользователи могут получить доступ к этим маршрутам.

Проблема, с которой я борюсь, заключается в том, что я не знаю, какие типы грантов мне следует использовать?Клиент?Пароль?И то и другое?Как мне справиться с такими ситуациями?

...