Как получить пользователя из JWTAuth с токеном в laravel 5.5

Я собираюсь использовать JWTAuth для создания токена из модели. Итак, я использовал этот метод:

$token = JWTAuth::fromUser($user);

В моих маршрутах api у меня есть:

Route::post('login', 'AuthController@login');

Route::group([

    'middleware' => 'jwt.auth',
    'prefix' => 'auth'

], function ($router) {

    Route::post('logout', 'AuthController@logout');
    Route::post('refresh', 'AuthController@refresh');
    Route::get('me', 'AuthController@me');
});

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

$user = JWTAuth::parseToken()->authenticate();

Но возвращает false.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
6 356
2

Ответы 2

Вы должны использовать как в api.php

Route::post('user', 'UserController@createUser');

и в вашем контроллере

public function getAuthUser(Request $request) {
        try {

            if (!$user = JWTAuth::toUser($request->token)) {
                return response()->json(['code' => 404, 'message' => 'user_not_found']);
            } else {

                $user = JWTAuth::toUser($request->token);
                return response()->json(['code' => 200, 'data' => ['user' => $user]]);
            }
        } catch (Exception $e) {

            return response()->json(['code' => 404, 'message' => 'Something went wrong']);

        }
    }

Надеюсь, что это поможет вам.

$ user is false, ничего не возвращается!

Ever Adm 21.05.2018 10:20

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

Kaushik shrimali 28.12.2020 11:43

If you need to get current userid, from header token then try it. Tested

use Tymon\JWTAuth\Facades\JWTAuth;

   protected function getCurrentUser()
    {
        return JWTAuth::parseToken()->authenticate()->id;
    }

Другие вопросы по теме