我正在尝试为我正在构建的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
头,我没有意识到这是必需的,但.我只是碰巧尝试它,它解决了我的问题.希望它能帮助别人.
1条答案
按热度按时间vs3odd8k1#
我不确定,但可能这些步骤之一会帮助你:
php artisan passport:client --client
字符串
config/app.php
中,确保Laravel\Passport\PassportServiceProvider::class
服务提供商已注册。AuthServiceProvider
的register方法中,确保有:Passport::routes();
php artisan config:clear