我正在建立一个Restful api,除了我不想使用Laravel的用户身份验证系统(而是我自己使用)。
所以我就被困在这里:
$this->jwt_token = JWTAuth::attempt(['email'=>$email, 'pass'=>$pass])
给了我以下错误:
类型错误:参数1传递给 Illuminate \ Auth \ EloquentUserProvider :: validateCredentials()必须是 Illuminate \ Contracts \ Auth \ Authenticatable的实例,实例 App \ User给出,调用 第387行** \ vendor \ laravel \ framework \ src \ Illuminate \ Auth \ SessionGuard.php
那么我该如何解决这个问题呢?任何的想法? 感谢
答案 0 :(得分:0)
看起来您的用户模型并未扩展正确的Eloquent类。
提升您的用户模型,并确保extends Illuminate\Foundation\Auth\User
。
在默认的Laravel安装中,这是通过use Illuminate\Foundation\Auth\User as Authenticatable
导入的,然后是模型extends Authenticatable
。
如果您不想使用用户模型进行身份验证,则可以更改config/jwt.php
中应使用的模型,但无论您选择什么,都需要将Auth\User
类扩展为上方。