postman Laravel passport unsupported_grant_type with client credentials

5lhxktic  于 2023-11-18  发布在  Postman
关注(0)|答案(1)|浏览(188)

我正在尝试为我正在构建的API进行机器对机器的身份验证(不涉及用户)。我已经遵循了Laravel Passport围绕客户端凭据选项的有限文档,但我一直得到unsupported_grant_type
我的API路线:

Route::post('/oauth/token', [AccessTokenController::class, 'issueToken'])->middleware(['throttle']);

字符串
我可以通过ngrok看到请求正在通过,所以我觉得它配置正确。我还添加了一个测试端点,它工作正常。

Route::get('/test', fn () => response()->json(['message' => 'Welcome to the API!']));


我在auth.config中的配置:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
        'hash' => false,
    ],
],


int config/passport.php我将guard设置为API:

'guard' => 'api',


我将Content-Type设置为application/x-www-form-urlencoded,Accept header设置为application/json
知道我哪里做错了吗
x1c 0d1x的数据

更新:

对于任何人谁绊倒在这一点上,显然我错过了Content-Length头,我没有意识到这是必需的,但.我只是碰巧尝试它,它解决了我的问题.希望它能帮助别人.

vs3odd8k

vs3odd8k1#

我不确定,但可能这些步骤之一会帮助你:

  • 第一个月
  • 确保在创建客户端时使用了--client选项,该选项指示客户端凭据授予客户端:php artisan passport:client --client
  • app/Http/Kernel.php
'web' => [
    // ... other middleware ...
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],

字符串

  • config/app.php中,确保Laravel\Passport\PassportServiceProvider::class服务提供商已注册。
  • AuthServiceProvider的register方法中,确保有:Passport::routes();
  • 最后,运行php artisan config:clear

相关问题