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 认证的,也尝试过很多次了,但是就是不行,已经快疯了,求各位大佬不吝赐教

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

password 换 client_credentials

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

password 换 client_credentials

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

有点头疼 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); 这一行,代码实在是看不下去了 头疼 期待大佬解决

9个月前 评论