Итак, я знаю, что маршруты API не должны полагаться на аутентификацию сессий, но моя идея состояла в том, чтобы создать некоторые маршруты API, которые могли бы использоваться, если это необходимо сторонней организацией, с надлежащей аутентификацией, но это может также использоваться для внутренних целей, т. е. вызываться для получения данных, необходимых для моих веб-страниц.
Я изменил LoginController так, что каждый раз, когда пользователь входит в систему, токен личного доступа генерируется и сохраняется в базе данных. При выходе этот токен удаляется.
Чтобы не показывать токен на стороне клиента, я хотел бы использовать промежуточное программное обеспечение, которое будет определять при вызове API запрос от пользователя, который уже аутентифицирован. В этом случае я бы извлек токен личного доступа, принадлежащий пользователю, прикрепил его к запросу и передал его в API.
Браузер - Запрос site.com/api/myRoute -> Middleware добавляет токен пользователя в запрос, если Auth :: check () - Запрос на передачу -> Контроллер
Я создал фиктивный маршрут API, чтобы посмотреть, смогу ли я определить, аутентифицирован ли пользователь, но, похоже, это не сработает ... Я думаю, потому что промежуточное программное обеспечение "auth" не включено ... однако, если Я включаю его, меня перенаправляют на дом при каждом запросе ...
Route::get('/test', function() {
if(Auth::check()) {
dd('Hello logged-in');
} else {
dd('Hello not logged-in');
}
});
Любое руководство о том, как добиться этого, высоко ценится!