Laravel Passport执行install后Client ID为哈希值而非数字的问题排查
Laravel Passport生成UUID格式Client ID的原因及解决办法
这不是操作错误,是Laravel Passport版本差异导致的:
- 版本差异说明:Laravel Passport v10及后续版本,默认将客户端ID从自增数字改为UUID格式;你参考的教程可能基于v9或更早版本,所以出现了认知差异。
- 验证当前版本:执行以下命令查看Passport版本:
composer show laravel/passport - 若需改回数字ID(谨慎操作,会清空现有OAuth相关数据):
- 发布Passport迁移文件:
php artisan vendor:publish --tag=passport-migrations - 在
database/migrations目录中找到create_oauth_clients_table.php,将$table->uuid('id')->primary();替换为$table->id(); - 重新执行迁移(会清空数据库中OAuth相关表数据):
php artisan migrate:fresh - 重新生成客户端:
php artisan passport:install --force
- 发布Passport迁移文件:
附你执行命令的输出:
root@DESKTOP:/var/www/project/#
php artisan passport:install --force
Encryption keys generated successfully. Personal access client created successfully. Client ID: 9b0fd3bd-87ac-4787-a343-0f2b7356d47a Client secret: 3IiDPF5BqG993MESzm9zqjo6rlr6nJbn0wKs3FXv Password grant client created successfully. Client ID: 9b0fd3bd-89c1-441f-b91b-e60775c0d2ad Client secret: 1vGzXHZLNkjEAfxoU6Df14vGg2xS31u56PQxStH0
内容的提问来源于stack exchange,提问作者Dan Rais
相关产品推荐
相关产品推荐

