Идентификатор текущего пользователя в Laravel API - PullRequest
0 голосов
/ 30 мая 2018

У меня есть хранилище методов контроллера и определен маршрут API для этого метода.Когда я пытаюсь сохранить информацию из $ request, все в порядке, кроме текущего идентификатора пользователя.Auth :: user () возвращает null.Как получить этот идентификатор?

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Если вы пытаетесь сделать это из пользовательской аутентификации (не аутентификации по умолчанию, предоставленной laravel), тогда все ваши необходимые для аутентификации маршруты должны использовать web middleware.

Route::group(['middleware' => 'web'], function () {
    // your routes
});

Тогда вы можете получить активнуюидентификатор пользователя, используя

Auth::user()->id

или

auth()->user()->id
0 голосов
/ 10 апреля 2019

Согласно ответу @Rahul Reghunath в Как получить текущего пользователя в Laravel API с помощью Passport?

вы можете попробовать использовать этот метод для доступа к идентификатору пользователя в промежуточном программном обеспечении API:

auth('api')->user();

пример:

Route::get("me",function (){
    $userInfo=auth('api')->user();
    if ($userInfo!==null)
    {
        return "User is logged in. id:".$userInfo->id;
    }else{
        return "User is not logged in.";
    }
});

для меня он показал идентификатор при аутентификации с токеном на предъявителя:

User is logged in. id:6
0 голосов
/ 30 мая 2018

Во-первых, вы должны убедиться, что "пользователь API" вошел в систему, чтобы получить ID.Вы можете использовать auth () -> user () -> id или Auth :: user () -> id , чтобы получить текущий идентификатор пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...