laravel10 使用passport 密码授权令牌无法使用,报错unsupported_grant_type

1. 运行环境#

本地运行 windows
php 版本 8.1.23
laravel10.*

1). 当前使用的 Laravel 版本?#

laravel10 使用passport 密码授权令牌无法使用unsupported_grant_type

3). 当前系统#

windows10

2. 问题描述?#

使用 passport 密码授权的时候无法获取 token
报错

laravel10 使用passport 密码授权令牌无法使用unsupported_grant_type

我的安装步骤如下:

composer create-project --prefer-dist laravel/laravel=10.* laravel

.env 数据库配置
修改数据库默认字符串长度
   Schema::defaultStringLength(191);
composer require laravel/passport
Laravel\Passport\HasApiTokens Trait 添加到 App\User 模型中 // 提供一些辅助函数检查已认证用户的令牌和使用范围
修改config/auth.php文件
'api' => [
    'driver' => 'passport',
    'provider' => 'users',
    'hash' => false,
],

php artisan migrate
php artisan passport::install 
生成两个数据

这是api.php的路由
Route::post('/register', [PassportController::class, 'register']);

这是控制器代码

代码已被折叠,点此展开

laravel10 使用passport 密码授权令牌无法使用unsupported_grant_type

看了很多版本的 passport 关于 password 认证的,也尝试过很多次了,但是就是不行,已经快疯了,求各位大佬不吝赐教

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

password 换 client_credentials

8个月前 评论
轻语过往 (作者) 8个月前
蜗牛啊蜗牛 (楼主) 8个月前
轻语过往 (作者) 8个月前
轻语过往 (作者) 8个月前
蜗牛啊蜗牛 (楼主) 8个月前
讨论数量: 7

password 换 client_credentials

8个月前 评论
轻语过往 (作者) 8个月前
蜗牛啊蜗牛 (楼主) 8个月前
轻语过往 (作者) 8个月前
轻语过往 (作者) 8个月前
蜗牛啊蜗牛 (楼主) 8个月前

有点头疼 vendor/laravel/passport/src/PassportServiceProvider.php 的 registerAuthorizationServer 方法里面

file 这里判断是否开启密码授权,然而默认的值是 false

file 唯一的开启方法并没有找到调用的地方 enablePasswordGrant

file 强行设置为 true 后 也是报错不断 解决不动了 报错 在 vendor/league/oauth2-server/src/Grant/PasswordGrant.php 的 respondToAccessTokenRequest 方法 $user = $this->validateUser ($request, $client); 这一行,代码实在是看不下去了 头疼 期待大佬解决

8个月前 评论