php - Symfony\Component\Debug\Exception\FatalThrowableError:参数 1 传递给 Tymon\JWTAuth\JWTGuard::login()
问题描述
尝试登录 API 时出现此错误
Symfony\Component\Debug\Exception\FatalThrowableError: 传递给 Tymon\JWTAuth\JWTGuard::login() 的参数 1 必须是 Tymon\JWTAuth\Contracts\JWTSubject 的实例,给定 App\User 的实例,在 /home/scrixmll 中调用/apiadmin.silexsecure.com/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php 在文件 /home/scrixmll/apiadmin.silexsecure.com/vendor/tymon/jwt-auth/src/JWTGuard 的第 307 行。第 140 行的 php
解决方案
您需要Tymon\JWTAuth\Contracts\JWTSubject
在您的用户模型中实现
use Illuminate\Foundation\Auth\User as Authenticatable;
use Tymon\JWTAuth\Contracts\JWTSubject;
class User extends Authenticatable implements JWTSubject
{
....
并声明所需的方法
/**
* 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 [];
}
推荐阅读
- javascript - 遍历 JSON 并呈现表格元素不会产生任何结果
- java - 二维数组:在二维数组中追加值
- html - 为什么不在 laravel 5.6 中显示验证错误消息
- java - 在 Java 11 中的打印机上打印文本、图像或报告时遇到问题
- node.js - Uncaught (in promise) TypeError: Cannot read property 'red' of null
- laravel - Laravel 5.8 验证 - 始终遵守任何规则
- xcode - 如何重新生成“不要问我”警告警报
- java - 字符串的 Java 集合排序方法不适用于区分大小写和特殊字符
- java - 如何在 Spring 中异步运行函数
- sql - 发生错误时从选择语句继续插入