使用jwt-auth的报错解决 Argument 1 passed to Tymon\\JWTAuth\\JWT::fromUser()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuchengzeng/article/details/88797030

使用jwt-auth登录认证的时候报错误:

1.Class Tymon\JWTAuth\Providers\JWT\Namshi does not exist php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" --force

2.Argument 1 passed to Tymon\\JWTAuth\\JWT::fromUser() must be an instance of Tymon\\JWTAuth\\Contracts\\JWTSubject, instance of App\\User given, called in D:\\web\\learn-api\\vendor\\tymon\\jwt-auth\\src\\JWTAuth.php on line 54

解决方法:

找到User模型, 修改代码如下:

<?php

namespace App;

use Tymon\JWTAuth\Contracts\JWTSubject;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements JWTSubject
{
    use Notifiable;

    //这里省略n多代码...

    /**
     * Get the identifier that will be stored in the subject claim of the JWT.
     *
     * @return mixed
     */
    public function getJWTIdentifier()
    {
        return $this->getKey();
    }

    /**
     * Return a key value array, containing any custom claims to be added to the JWT.
     *
     * @return array
     */
    public function getJWTCustomClaims()
    {
        return [];
    }
}

文章地址:https://blog.csdn.net/websites/article/details/88797030

猜你喜欢

转载自blog.csdn.net/wuchengzeng/article/details/88797030