laravel 5.5 jwt问题

时间:2017-10-11 03:39:23

标签: php laravel jwt laravel-5.5

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

I'm following this tutorial

当我尝试在postMan上发帖时,我收到了此错误

未找到“Tymon \ JWTAuth \ Providers \ JWT \ NamshiAdapter”

errorMessage

帮助。

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

  

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

2 个答案:

答案 0 :(得分:7)

我发现了我的问题 在config / jwt.php文件中更改以下提供程序:

  1. NamshiAdapter to Namshi
  2. IlluminateAuthAdapter发光
  3. IlluminateCacheAdapter以照亮
  4. 然后我收到了这个错误:

      

    类型错误:传递给Tymon \ JWTAuth \ JWT :: fromUser()的参数1必须是Tymon \ JWTAuth \ Contracts \ JWTSubject的实例,App / User实例给出,在/ Applications / XAMPP / xamppfiles / htdocs中调用第54行/git/jwt-test/vendor/tymon/jwt-auth/src/JWTAuth.php

    我通过实现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 [];
        }
    }
    

答案 1 :(得分:0)

我只是通过查看#1316 issue来解决这个问题。

还是无法弄清楚我的项目有什么问题,但至少我找到了一种在laravel 5.5上使用jwt-auth的方法