laravel 5.3 + Tymon \ JWTAuth =如何使用自己的身份验证创建令牌

时间:2016-09-21 07:03:55

标签: php jwt laravel-5.3

我正在建立一个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

那么我该如何解决这个问题呢?任何的想法? 感谢

1 个答案:

答案 0 :(得分:0)

看起来您的用户模型并未扩展正确的Eloquent类。

提升您的用户模型,并确保extends Illuminate\Foundation\Auth\User

在默认的Laravel安装中,这是通过use Illuminate\Foundation\Auth\User as Authenticatable导入的,然后是模型extends Authenticatable

如果您不想使用用户模型进行身份验证,则可以更改config/jwt.php中应使用的模型,但无论您选择什么,都需要将Auth\User类扩展为上方。

相关问题