Php 错误:";JWT字符串必须有两个点;

Php 错误:";JWT字符串必须有两个点;,php,laravel,authentication,sha256,Php,Laravel,Authentication,Sha256,我尝试解析Http请求中的承载令牌,以便在下一步中获得客户机信息。它在大多数情况下都工作得很好,但有时哨兵会给我一个错误:“JWT字符串必须有两个点”。 我怎样才能预防这种情况 $bearerToken = Request::bearerToken(); $parsedToken = (new Parser())->parse($bearerToken); 来自@FrankerZ和try/catch块的提示非常有效 try { $bearerToken = Request::bea

我尝试解析Http请求中的承载令牌,以便在下一步中获得客户机信息。它在大多数情况下都工作得很好,但有时哨兵会给我一个错误:“JWT字符串必须有两个点”。 我怎样才能预防这种情况

$bearerToken = Request::bearerToken();
$parsedToken = (new Parser())->parse($bearerToken);

来自@FrankerZ和try/catch块的提示非常有效

try {
   $bearerToken = Request::bearerToken();
   $parsedToken = (new Parser)->parse($bearerToken);
   $tokenId = $parsedToken->getHeader('jti');
   $this->client = Token::find($tokenId)->client;
} catch (Exception $e) {
   $this->client = [];
}

是否有人恶意编辑JWT令牌?另外,尝试在解析器周围添加一个try/catch块,以便在出现错误时向sentry报告实际的承载令牌,这样您就可以看到发生了什么。@FrankerZ我不编辑令牌,可能是用户编辑的。我试着用try/catch块。