У меня есть пользовательский JwtMiddleware в люменах.
Как вы можете видеть, 3 журнала были сделаны в методе handle .
1-й лог : возвращает токен jwt
2-й лог : возвращается пусто
3-й лог : возвращается пусто
Не уверен, что для маркера он возвращается пустым ... Мне нужно знать сценарий. Обычно, если токен истек или неправильный, он идет для соответствующего блока catch. Но в некоторых случаях он терпит неудачу
Я использую "tymon/jwt-auth": "dev-develop"
версию
use Tymon\JWTAuth\JWTAuth;
use Illuminate\Support\Facades\Log;
class JwtMiddleware
{
protected $jwt;
public function __construct(JWTAuth $jwt)
{
$this->jwt = $jwt;
}
public function handle($request, Closure $next)
{
try {
Log::info($this->jwt->getToken());
Log::info($this->jwt->toUser($this->jwt->getToken()));
Log::info($this->jwt->parseToken()->authenticate());
$this->jwt->parseToken()->authenticate();
} catch (Exception $e) {
Log::info($e->getMessage());
if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException) {
return response()->json(['error' => 'Token is Invalid'], 401);
} elseif ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException) {
return response()->json(['error' => 'Token is Expired'], 401);
} else {
return response()->json([
// 'message' => $e->getMessage(),
'error' => 'Authorization Token not found', ], 401);
}
}
return $next($request);
}
}