Я собираюсь использовать 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.






Вы должны использовать как в 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']);
}
}
Надеюсь, что это поможет вам.
Невозможно отправить токен в каждом теле запроса. Лучше отправить вариант в заголовке.
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;
}
$ user is false, ничего не возвращается!