Laravel9使用passport注册Passport::routes();路由报错
1. 运行环境
windows2012R2
Laravel9x
PHP 版本:php8.2
2. 问题复现
在 App\Providers\AuthServiceProvider.php 文件中注册 Passport::routes路由php artisan serve运行报错
boot 方法如下:
public function boot()
{
$this->registerPolicies();
if (! $this->app->routesAreCached()) {
Passport::routes();
}
//令牌有效期为2小时
Passport::tokensExpireIn(now()->addHour(2));
//刷新令牌认证有效期为7天
Passport::refreshTokensExpireIn(now()->addDays(7));
//令牌过期时间为1个月
//Passport::personalAccessTokensExpireIn(now()->addMonths(1));
}
以下方式也报错
public function boot()
{
$this->registerPolicies();
Passport::routes();
//令牌有效期为2小时
Passport::tokensExpireIn(now()->addHour(2));
//刷新令牌认证有效期为7天
Passport::refreshTokensExpireIn(now()->addDays(7));
//令牌过期时间为1个月
//Passport::personalAccessTokensExpireIn(now()->addMonths(1));
}

我的报这个错误,获取到和接收到到 token是一样的,laravel10的框架,auth:api 默认中间件
关于 LearnKu
新版
Passport已经是默认注册路由,不需要Passport::routes()了。可以命令行输入php artisan route:list确认以oauth开头的路由已经完成了注册。如果不需要这些路由,需要在原先写Passport::routes()的地方改为Passport::ignoreRoutes()(这个方法名可能有误,使用时自己查一下)来忽略自动注册路由。