Laravel 5.3
Надо сделать API для приложения, в котором обычная авторизация реализована штатными средствами Laravel, всё стандартно:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'users' => [
'driver' => 'database',
'table' => 'users',
],
Я создал для API контроллер, с методом который получает логин и пароль, авторизует пользователя и возвращает приложению remeber_token.
После чего, этот remeber_token будет передаваться мобильным приложением с каждым запросом к методам внутри конструкции:
Route::group(['middleware' => ['auth:api']], function() {
// роуты
});
и всё будет хорошо, подумал я...
Но не сработало. На запросы к закрытым роутам я получаю редирект на форму авторизации (хотя такое поведение должно быть только при работе через браузер, но не для api роутов).
Что сделано не так? Как работают guards? Как фреймворк должен узнать в каком поле передан токен и с каким полем в бд его надо сравнить? Это реализовано из коробки так же как обычная авторизация/аутентификация?