Я создаю API, который работает как машина для перфокарт. Поэтому, когда запрашивается GET API, это должно быть результатом предоставления доступа или отказа в доступе на экране входа в систему.
Я использую Laravel 5.7 с PHP 7.2. Я уже выгружаю переменную session(), отображается только токен перекрестной ссылки.
API.php
Route::get('/{member_id}', 'ApiController@entry');
Апиконтроллер.php
public function entry($member_id)
{
$user = User::where('member_id', $member_id)->first();
if ($user == null)
return redirect('login')->with('api_error','Access Denied');
else
{
return redirect('login')->with('api_success','Entry Recorded');
}
}
логин.blade.php
@if (session('api_success'))
<div class = "alert alert-success alert-dismissable">
<button aria-hidden = "true" data-dismiss = "alert" class = "close" type = "button">×</button>
{{ session('api_success') }}
</div>
@endif
@if (session('api_error'))
<div class = "alert alert-danger alert-dismissable">
<button aria-hidden = "true" data-dismiss = "alert" class = "close" type = "button">×</button>
{{ session('api_error') }}
</div>
@endif
Ничего не выводится после запуска ссылки API.
Дополнительная информация: логин создается из php artisan make:auth
Если это реальный маршрут API, объявленный в route/api.php, то он не запустит сеанс. Вы должны сделать его веб-маршрутом, поскольку сеансы и перенаправления более важны для пути пользователя, чем для взаимодействия с API.






Возможно, я сумасшедший, но вам не хватает { после if ( $user == null ) ?