Проверьте, аутентифицирован ли пользователь в маршруте API laravel - PullRequest
0 голосов
/ 29 августа 2018

Итак, я знаю, что маршруты 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');
    }
});

Любое руководство о том, как добиться этого, высоко ценится!

...