Laravel Passport已安装,手动创建Access Token时提示个人访问客户端未找到
解决Laravel Passport手动创建Access Token时的“Personal access client not found”错误
你遇到的问题是因为createToken()方法依赖个人访问客户端(Personal Access Client),而你之前只配置了密码授权(Password Grant)相关的客户端,并没有创建个人访问客户端。
解决步骤:
生成所有Passport客户端(包括个人访问客户端):
在项目根目录执行命令:php artisan passport:install这个命令会自动创建个人访问客户端、密码授权客户端等所需的所有客户端记录。如果之前已经运行过该命令,重新执行会覆盖旧的客户端,若有正在使用的旧客户端,注意提前备份相关信息。
单独创建个人访问客户端(可选,避免覆盖现有客户端):
如果你不想重新生成所有客户端,可单独创建个人访问客户端:php artisan passport:client --personal执行后按照提示输入客户端名称(比如“Personal Access Client”)即可完成创建。
验证结果:
查看数据库的oauth_clients表,确认存在personal_access_client字段值为1的记录,这就是成功创建的个人访问客户端。
补充说明:密码授权(Password Grant)是供第三方应用通过用户名密码获取令牌的机制,而createToken()是用于生成用户个人访问令牌的方法,两者依赖的客户端类型不同,所以之前密码授权功能正常不代表个人访问客户端已存在。
内容的提问来源于stack exchange,提问作者DevonDahon
相关产品推荐
相关产品推荐

