Я хочу построить маршрут API, который может вызываться как аутентифицированным пользователем, так и не аутентифицированным пользователем, и возвращает данные в зависимости от того, аутентифицирован ли пользователь или нет.
Я застрял наиспользуя Auth :: check ().
Функция контроллера выглядит примерно так:
class SomeController extends Controller
{
public function check(Request $request) {
if(Auth::check()) {
return response()->json([
'message' => 'Logged in'
], 200);
}
else {
return response()->json([
'message' => 'Not logged in'
], 200);
}
}
}
У меня два сценария:
Сценарий 1
Route::get('scenario1', 'SomeController@check');
В этом сценарии в контроллере, когда я проверяю Auth :: check () внутри условия if, я всегда получаю ложное условие, независимо от того, является ли пользовательаутентифицировано или нет.
Сценарий 2
Route::get('scenario2', 'SomeController@check')->middleware('auth:api');
В этом сценарии в контроллере, когда я проверяю Auth :: check (), я получаю значение true, когда пользователь вошел в системуи ошибка (маршрут [логин] не определен), когда пользователь не вошел в систему.