2016-09-21 13 views
0

Laravelのユーザ認証システムを使用したくないという点を除いて、安らかなAPIを構築しています。laravel 5.3 + Tymon JWTAuth =独自の認証でトークンを作成する方法

ここで立ち往生上だから、イム:それでは、どのように私はこれを解決するのです

Type error: Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\User given, called in **\vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php on line 387

$this->jwt_token = JWTAuth::attempt(['email'=>$email, 'pass'=>$pass]) 

私に次エラーが発生しますか?何か案が? ありがとう

答えて

0

ユーザーモデルが正しいEloquentクラスを拡張していないようです。

ユーザーモデルを引き上げて、extends Illuminate\Foundation\Auth\Userを確認してください。

デフォルトのLaravelインストールでは、これはuse Illuminate\Foundation\Auth\User as Authenticatable、次にextends Authenticatableでインポートされます。


あなたは認証のためのユーザモデルを使用しない場合、あなたはconfig/jwt.phpで使用されるべきモデルに変更することができますが、あなたが選ぶ何が上記のようAuth\Userクラスを拡張する必要があります。

+0

エラーを解決しましたが、私自身の認証を使用して 'JWTAuth :: attempt'を使って認証することはできません。だから私はララヴェルであなた自身で1つのことをしていると思うので、自分自身で他のことをしなくてはなりません。 –

関連する問題