如何在没有密钥或没有验证的情况下解码 php/laravel 中的 jwt?
Posted
技术标签:
【中文标题】如何在没有密钥或没有验证的情况下解码 php/laravel 中的 jwt?【英文标题】:How to decode jwt in php/laravel without the secret key or without validation? 【发布时间】:2021-12-01 19:29:02 【问题描述】:所以我的情况是我从另一个 api 接收 jwt。如果我想验证 jwt,我也会向那个 API 发送一个请求。
如果我想在我的前端 javascript (React) 中对其进行解码,我只需要获取 jwt-decode 库。这个库不检查令牌是否仍然有效,它只是对其进行解码。
现在我正在寻找一种类似的方法来在 php/laravel 中实现这一点。我检查了tymon/jwt-auth 和firebase/php-jwt。两者仅在令牌由同一库创建时才有效。 Firebase jwt 在您解码令牌时需要密钥,而 Tymon 的文档中没有您将如何解码从其他库创建的令牌...
所以这基本上是我的问题,有没有办法用 php/laravel 解码另一个库创建的 jwt?
【问题讨论】:
【参考方案1】:您可以使用解码 JWT https://www.php.net/manual/ru/function.base64-decode.php 要么 https://www.php.net/manual/ru/function.sodium-base642bin.php
JWT 只是用点分隔的 base64 url 编码部分 https://jwt.io/
【讨论】:
以上是关于如何在没有密钥或没有验证的情况下解码 php/laravel 中的 jwt?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有守卫装饰器的情况下始终验证 JWT? (Nest.js + 护照)
在没有库的情况下在 Java 中读取 PKCS#1 或 SPKI 公钥