找不到护照laravel createToken个人访问客户端

时间:2019-03-14 17:35:49

标签: laravel laravel-passport

设置护照后,我已经配置并创建了一个控制器,用于管理“注册-登录”和“-”访问常规外部邮寄请求的资源。我不需要特定的客户。但是当我尝试在注册或登录中创建令牌时:

$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

我该如何解决?

7 个答案:

答案 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命令后显示此错误的原因。