有使用过sanctum的佬,能指点下吗,遇到些问题
1. 运行环境
php7.4
1). 当前使用的 Laravel 版本?
Laravel8.5 、 “laravel/sanctum”: “^2.15”,
//: <> (使用 php artisan --version
命令查看)
2. 问题描述?
在使用sanctum验证的时候,前面的步骤都没有问题,到中间件的时候就报错了,但是之前不是执行迁移文件生成了personal_access_tokens表么,然后token也是在这里面生成的,但为什么会使用到users 的 api_token呢。这个问题我翻遍了都没找到解决办法,希望有大佬遇到了能指点一下
Column not found: 1054 Unknown column 'api_token' in 'where clause' (SQL: select * from `users` where `api_token` = 2|sorDwRX1gkHn6Ks8dOdJrJ4yrmYl3EFvP9fFxNvI
3. 部分代码截图
Http/Kernel
routes/api
Route::prefix('/standard')->middleware('auth:sanctum')->group
config\Sanctum
<?php
use Laravel\Sanctum\Sanctum;
return [
'stateful' => "*",
'guard' => ['api'],
'expiration' => null,
'middleware' => [
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
],
];
config\auth
<?php
return [
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
'password_timeout' => 10800,
];