Получить аутентифицированного пользователя в контроллере API в Laravel

#laravel #vue.js

#laravel #vue.js

Вопрос:

Я хочу получить данные аутентифицированного пользователя в контроллере API. Как это сделать?
Вот мой API CompanyController

 public function selected_company(){
        return Auth::user()->id;
    }
 

Ошибка, которую я получил через HTTP-запрос…
Изображение ошибки здесь

Комментарии:

1. пусть метод контроллера проходит через промежуточное программное обеспечение, подобное auth:sanctum or auth:api , зависит от того, какой пакет вы используете для аутентификации api.

2. Я обновил return Auth::user()->id; return auth('api')->user() , но и он не работает

Ответ №1:

Чтобы передать комментарий понятным образом,

Либо ваш контроллер должен иметь промежуточное программное обеспечение, например

 public function __construct()
{
    $this->middleware('auth:api');
}
 

Или ваш маршрут к api должен быть передан через промежуточное программное обеспечение

 Route::get('your-api-endpoint')->middleware('auth:api');
 

Комментарии:

1. Вы передаете токен API в заголовках? Authorization: Bearer <token>

2. Возможно, вам следует подробнее прочитать о том, как аутентифицировать пользователя и передавать токены в заголовке.

3. Не могли бы вы порекомендовать сайт ресурса?

4. dev.to/romanpaprotsky/…