设置护照后,我已经配置并创建了一个控制器,用于管理“注册-登录”和“-”访问常规外部邮寄请求的资源。我不需要特定的客户。但是当我尝试在注册或登录中创建令牌时:
$tokenObj=$user->createToken('APPLICATION')->accessToken;
错误是:
RuntimeException:找不到个人访问客户端。请创建一个。在文件中 C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ ClientRepository.php 在第94行 堆栈跟踪: 1. RuntimeException->()C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ ClientRepository.php:94 2. Laravel \ Passport \ ClientRepository-> personalAccessClient()C:\ xampp7.1 \ htdocs \ passport \ vendor \ laravel \ passport \ src \ PersonalAccessTokenFactory.php:71
我该如何解决?
答案 0 :(得分:7)
对我来说,它可以通过运行来解决
php artisan passport:install
因为它是在刷新数据库后发生的。
答案 1 :(得分:5)
运行命令后
php artisan passport:client --personal
并提示您
What should we name the personal access client? [Artisan Personal Access Client]:
不用担心,只需输入任何名称,然后按Enter键。
答案 2 :(得分:2)
您必须首先创建访问客户端。已记录在here中。一个访问客户端,它与用户令牌不同,您可以拥有一个访问客户端,并且许多用户可以使用不同的密码和令牌。
答案 3 :(得分:1)
只需运行此命令
php artisan passport:install --force
答案 4 :(得分:1)
我应该打电话吗
php artisan passport:install
每次跑步
php artisan:migrate
有正确的方法吗?
答案 5 :(得分:0)
除了namelivia的评论。正如Laravel博士所说:
在您的应用程序可以发布个人访问令牌之前,您将 需要创建一个个人访问客户端。您可以使用 护照:带有--personal选项的客户端命令。如果你有 已经运行passport:install命令,则不需要运行此命令 命令:
php artisan passport:client --personal
但是如果您没有运行该命令,则:
php artisan passport:install
您应该先运行它。
答案 6 :(得分:0)
我一遍又一遍地犯同样的错误,但是我没有办法重现它,但是我弄清楚了为什么。
当执行php artisan passport:install
时,它会在 migration 命令之后将两个客户端ID存储在数据库中,但是如果再次新迁移,很明显您会迷路这两个先前的ID,这就是为什么在执行install命令后显示此错误的原因。