laravel 5.5 jwt 问题

laravel 5.5 jwt issue

当我尝试将 jwt 与 laravel“5.5”一起使用时遇到问题(此问题仅发生在版本 5.5

I'm following this tutorial

我在 postMan

上尝试 post 时遇到了这个错误

Class 'Tymon\JWTAuth\Providers\JWT\NamshiAdapter' 未找到

errorMessage

请帮忙。

我把这个问题放在 github 上,这里是 link:


h ttps://github.com/jimmyHuey/jwt-test


我通过查看 #1316 issue 解决了这个问题。

仍然无法弄清楚我的项目有什么问题,但至少我找到了一种在 laravel 5.5

上使用 jwt-auth 的方法

我发现了我的问题。
在 config/jwt.php 文件更改后提供者:

  1. NamshiAdapter to Namshi
  2. IlluminateAuthAdapter 照亮
  3. 要点亮的 IlluminateCacheAdapter

然后我得到这个错误:

Type error: Argument 1 passed to Tymon\JWTAuth\JWT::fromUser() must be an instance of Tymon\JWTAuth\Contracts\JWTSubject, instance of App\User given, called in /Applications/XAMPP/xamppfiles/htdocs/git/jwt-test/vendor/tymon/jwt-auth/src/JWTAuth.php on line 54

我通过实施 JWTSubject 并修改 class:

来修复它
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Tymon\JWTAuth\Contracts\JWTSubject;
class User extends Authenticatable implements JWTSubject
{
    public function getJWTIdentifier()
    {
        return $this->getKey();
    }
    public function getJWTCustomClaims()
    {
        return [];
    }
}