Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Как использовать сессию в API?

Всем привет! Подскажите пожалуйста такой вопрос.
У меня есть авторизация, где после проверки логина и пароля я выполняю вот такую строку кода:
Auth::login($user);
return redirect()->route('main');

На сколько я понимаю, в сессию записывается указанный мною пользователь и я в следующих запросах достаю его с помощью Auth::user(), но эта команда не работает, когда я пытаюсь достать пользователя, если обратился к сайту через Ajax по url "/api/....."
Подскажите как записать пользователя так, чтобы он был доступен и через ссылки которые выполняются через "/api/....."
Я уже думал может нельзя пользоваться api через браузер, но думаю как-то странно, если это так.
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Алексей Коновалов,
Это значит что все запросы которые я посылаю из браузера должны проходить через web.php?


Нет, это значит, что если вам нужна сессия в апи, то эти маршруты должны быть в группе миддлваров web.

А если быть ещё более точным, то эти маршруты должны проходить через миддлвэр StartSession

Если вам не требуется классический stateless api, то поменяйте в RouteServiceProvider группу маршрутов api

Route::middleware('web')
    ->group(base_path('routes/web.php'));

Route::prefix('api')
-   ->middleware('api')
+   ->middleware('web')
    ->group(base_path('routes/api.php'));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы