2017-10-11 105 views
0

我有一个问题,当我试图用智威汤逊与laravel“5.5”(这个问题只在5.5版发生)laravel 5.5 JWT问题

I'm following this tutorial

,当我试图我得到这个错误张贴在邮递员

类 'Tymon \ JWTAuth \供应商\智威汤逊\ NamshiAdapter' 未找到

errorMessage

plz help。

我把GitHub上这个问题,这里是链接:


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


+0

请出示一些代码,你试过。 –

+0

你可能没有在上面导入类...类似于:'使用Tymon \ JWTAuth \ Providers \ JWT \ NamshiAdapter'或者你没有在服务提供者中注册它...也许它是该包的一个旧版本那没有自动发现? – lewis4u

+0

@Dream_Cap 感谢您的回复,我已经把这个问题放在github上 https://github.com/jimmyHuey/jwt-test – jimmy

回答

0

,我发现我的问题。
在配置/ jwt.php文件更改以下提供:

  1. NamshiAdapter到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和修改类修复:

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 []; 
    } 
} 
0

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

仍不能找出什么是错我的项目,但至少我找到一种方法,使用智威汤逊,权威性上laravel 5.5