Я пытаюсь создать токен jwt с Tymon JWT и
LoginController
$user = User::find(1);
$token = auth('api')->login($user);
работает нормально, и я получаю токен
MeController
public function get(Request $request){
$token_user = [];
$authorization = '';
try {
$authorization = $request->header('Authorization'); //Works fine. I am getting Bearer `My Token String`
$token_user = auth('api')->user();
} catch (\Tymon\JWTAuth\Exceptions\UserNotDefinedException $e) {
// do something
$token_user = $e;
}
return response()->json(compact('token_user', 'authorization'));
}
всегда возвращает ноль.
маршруты / api.php
Route::get('me', 'User\MeController@get');
В моем файле config / auth php я изменил модель, так как не использую пользовательскую модель по умолчанию, поставляемую с laravel
конфиг / auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class, //Though changing it does not make any difference
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
composer.json
"require": {
"php": "^7.1.3",
"barryvdh/laravel-cors": "^0.11.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0",
"tymon/jwt-auth": "^1.0.0-rc.1"
},
Как вывести пользователя из токена
Обновление 1
Я перешел по этой ссылке и все заработало
Изменения сделаны
приложение \ Http \ Kernel.php
protected $routeMiddleware = [
'jwt.auth' => \Tymon\JWTAuth\Http\Middleware\Authenticate::class, //added this line
'jwt.refresh' => \Tymon\JWTAuth\Http\Middleware\RefreshToken::class, //added this line
];
конфиг \ app.php
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
.
.
.
'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,//added this line
'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,//added this line
],