https://github.com/lcobucci/jwt
比如这个库,其实有不少坑的,api 真的非常不友好,误导人,怎么办?
困扰 2 天的问题:
-
jwt token 的签发: $token= (new Builder())->....->getToken();这尼玛其实是个
object,不是string,所以你必须用(string)$token得到最后的 tokenstring; -
jwt token signature 的验证:同样,官方文档里是这样的:
var_dump($token->verify(...)),这个方法的搞笑地方在于,$token 是个object,如果客户端发送的是一个 tokenstring,你怎么验证呢?
总之,这个沙雕文档能把你坑死了。
后来我只好参考了firebase php-jwt这个库的代码,用原生 PHP 函数,写了一个只针对RS256的验证方法。
前段时间我还问了一个问题:如果开源库有问题能不能骂?其实我个人认为是可以骂的,因为开源绝对不是开源库作者对别人的施舍,他有义务的。参考 ant design 圣诞地雷事件。
至于某些人说爱用用,不用滚,你就只配吃屎。
既然我把这个帖子发在分享创造这个节点,我还是希望大家能够访问我的博客,看一下具体内容:
https://superphp.org/2018/375.html
https://superphp.org/2019/378.html
这个库应用范围还是很广的,每月很多下载量,我觉得不止我一个人遇到类似的问题,希望对你有帮助。