使用jwt-auth的報錯解決 Argument 1 passed to Tymon\\JWTAuth\\JWT::fromUser()

使用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

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章