gpt4 book ai didi

php - 无法在 Laravel 中使用 tymon jwt 生成 token

转载 作者:行者123 更新时间:2023-12-03 11:23:12 24 4
gpt4 key购买 nike

我坚持了大约 3 天。基本上,我正在尝试使用 Tymon 在 laravel 中生成 JWT token 。这是我的 Controller 文件。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
use JWTAuth;
use JWT;
use Tymon\JWTAuthExceptions\JWTException;
use Tymon\JWTAuth\Contracts\JWTSubject as JWTSubject;

class AuthenticateController extends Controller
{
public function index()
{
//
}
public function authenticate(Request $request)
{

$user = User::where('email', $request->only('email'))->first();
dd($user); //This does show some output
$token = JWTAuth::fromUser($user); //returns error message

return ["error" => NULL, "token" => $token];

}
}

我使用 Chrome postman 测试了这个 api,但它报告了这个错误:

JWT.php 第 73 行中的 ErrorException:
传递给 Tymon\JWTAuth\JWT::fromUser() 的参数 1 必须是 Tymon\JWTAuth\Contracts\JWTSubject 的实例,给定的 App\User 实例,在/Users/shankerm/mccadmin/laravel/vendor/laravel/framework 中调用/src/Illuminate/Support/Facades/Facade.php 在第 217 行并定义

请给我一些建议。我是 Laravel 的新手并且为此苦苦挣扎了很长时间。谢谢。

最佳答案

您正在使用较新版本的软件包。这要求 User Model执行本契约(Contract)。通过在您的模型中执行此操作来解决它:

use Tymon\JWTAuth\Contracts\JWTSubject;

class User extends Model implements JWTSubject {

关于php - 无法在 Laravel 中使用 tymon jwt 生成 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com