所以我的情况是我从另一个 api 接收 jwt。如果我想验证 jwt,我也会向该 API 发送请求。
如果我想在前端 Javascript (React) 中对其进行解码,我只需要获取 jwt-decode 库。该库不会检查令牌是否仍然有效,它只是对其进行解码。
现在我正在寻找类似的方法来在 php/laravel 中实现此目的。我检查了tymon/jwt-auth和firebase/php-jwt。仅当令牌由同一库创建时,两者才有效。当您解码令牌时,Firebase jwt 需要密钥,而 Tymon 的文档中没有提及如何解码从其他库创建的令牌...
所以这基本上是我的问题,有没有办法用 php/laravel 解码另一个库创建的 jwt?
小智 10
更准确地说,我们必须在将 Base64 解码应用于其有效负载之前拆分 JWT,如https://github.com/firebase/php-jwt/issues/68#issuecomment-244768025中所述。
例子:
list($header, $payload, $signature) = explode('.', $encodedToken);
$jsonToken = base64_decode($payload);
$arrayToken = json_decode($jsonToken, true);
print_r($arrayToken);
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用 https://www.php.net/manual/en/function.base64-decode.php 或 https://www.php.net/manual/en/function.sodium-base642bin.php解码 JWT
JWT 只是以点分隔的 Base64 url 编码部分 https://jwt.io/
| 归档时间: |
|
| 查看次数: |
6405 次 |
| 最近记录: |