gpt4 book ai didi

php - 返回 token 的 JWT_Auth 对于 getPayload 是必需的,即使提供了一个

转载 作者:行者123 更新时间:2023-12-01 22:06:38 25 4
gpt4 key购买 nike

我在我的 Laravel 5.6 项目中使用 JWT-Auth 包。

我有一个使用 getPayload 方法的简单测试,但它一直在返回;

Tymon\JWTAuth\Exceptions\JWTException: A token is required

目前我的方法如下;

$user = factory(User::class)->create();

$token = JWTAuth::fromUser($user);
$payload = JWTAuth::getPayload($token);

如果我执行 dd($token) 它会正确吐出用户 token 。

如果其他人遇到过这个问题,我希望得到一些帮助。

干杯

最佳答案

在您的情况下,如果您将其称为:

$payload = JWTAuth::setToken($token)->getPayload();

我查看了源类,它看起来像是原因;

$payload = JWTAuth::getPayload($token);

返回 A token is required 错误是因为它寻找 $this->token 变量。但是当您使用 JWTAuth::fromUser($user); 设置它时,它不会为其设置任何值。

public function fromUser(JWTSubject $user)
{
return $this->fromSubject($user);
}

...

public function fromSubject(JWTSubject $subject)
{
$payload = $this->makePayload($subject);
return $this->manager->encode($payload)->get();
}

在这里您可以看到 fromSubject() 实际上返回了负载。因此 fromUser() 的返回结果实际上应该包含您正在寻找的有效负载,尽管我不确定这一点,因为我无法测试。

希望对您有所帮助:)

关于php - 返回 token 的 JWT_Auth 对于 getPayload 是必需的,即使提供了一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51316097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com