我正在尝试学习如何将 JWT 令牌从 ReactJS 传递到我的 PHP API。我目前有两个功能:用于检查用户名和密码的身份验证功能,然后生成并传回令牌。生成部分似乎有效,但是当我将令牌传回授权承载中时,我无法对其进行验证。我正在使用 Lcobucci\JWT 库。这是我的代码: public function attempt_login($input){ $time = time(); $token = (new Builder())->issuedBy('https://api.example.com') ->permittedFor('https://example.com') ->identifiedBy('4f1g23a12aa', true) ->issuedAt($time) ->canOnlyBeUsedAfter($time + 60) ->expiresAt($time + 3600) ->withClaim('uid',1) ->getToken(); return $token; } public function find($headers){ $auth = $headers['Authorization']; if (preg_match('/Bearer\s(\S+)/', $auth, $matches)) { $token = (new Parser())->parse((string) $matches[1]); $data = new ValidationData(); $data->setIssuer('https://api.example.com'); $data->setAudience('https://example.com'); $data->setId('4f1g23a12aa'); dd($token->validate($data)); }else{ dd('nope'); } }当我倾倒和死亡时,我总是会弄错。我 95% 确定我做错了,但谁能帮我解决这个问题?
1 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
如果您要立即检查有效性,则需要更改
canOnlyBeUsedAfter($time + 60)
简单地
canOnlyBeUsedAfter($time)
否则您需要等待 60 秒才能生效。
- 1 回答
- 0 关注
- 308 浏览
添加回答
举报
0/150
提交
取消