我有一个 laravel 项目,使用 Passport Client Credentials 获取承载令牌,我使用创建客户端 ID 和机密 ID
php artisan passport:client --personal
并得到
但是在使用这个 barear 调用其他这样的 api 但不工作之后
Route::middleware('client_credentials')->post('/test',[ApiController::class, 'va_bills']);
和输出只是
{
"message": "Unauthenticated."
}
但是,如果我将路由更改为闭包函数,它的工作方式如下
Route::middleware('client_credentials')->post('/test', function (Request $request) {
echo 'nice';
});
我已将此添加到 kernel.php
protected $routeMiddleware = [
..
'client_credentials' => \Laravel\Passport\Http\Middleware\CheckClientCredentials::class,
..
并更改驱动程序
'api' => [
'driver' => 'passport',//instead of token
'provider' => 'users',
'hash' => false,
],
我也将此添加到.htaccess,
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
但是对于您的信息,我之前没有 .htaccess 并且我使用php artisan serve
我已经阅读了许多解决方案但仍然无法正常运行我的应用程序,
有人可以帮我解决这个问题吗?感谢您的时间。