【发布时间】:2021-01-21 23:01:48
【问题描述】:
我的设置
- Laravel 8
- Laravel 火花莫莉
在使用 Spark 和 Sanctum 调用 API 请求时,我经常碰壁。我已经顺利安装了 Sanctum 并进行了迁移。
我已将use Laravel\Sanctum\HasApiTokens; 添加到app/Models/User.php 并将use HasApiTokens; 添加到班级。
我的 Api.php 路由
Route::group([
'middleware' => 'auth:sanctum'
], function () {
Route::get('categories', [\App\Http\Controllers\categories::class, 'fetchCategories']);
});
当我调用 Api 时出现此错误
ErrorException
Declaration of Laravel\Sanctum\HasApiTokens::tokenCan(string $ability) should be compatible with Laravel\Spark\User::tokenCan($ability)
我尝试在 User.php 上将 use Laravel\Sanctum\HasApiTokens; 更改为 Laravel\Spark\HasApiTokens。错误消失了,但每当我尝试调用 Api 时,它都会让我返回登录主页。
有什么想法吗?由于 Spark 文档并未真正解释 Sanctum 或 Api 保护的工作原理。
【问题讨论】:
标签: laravel laravel-authentication laravel-spark laravel-sanctum laravel-api