1

这里的文档建议php artisan passport:client --client创建客户端,但我想使用控制器来完成,或者理想情况下,使用护照提供的本机 JSON api。这有可能吗,还是我必须重写中的方法Passport::client

4

2 回答 2

2

老问题,但这是 2021 年的答案,供人们在 Google 上找到此问题。

我发现从代码中调用 Artisan 命令令人讨厌,尤其是 @kishore-kadiyala 提到的那样,因为您返回的是打印输出,而不是代码。

相反,您可以使用 Laravel\Passport\ClientRepository 类直接创建客户端:

use Laravel\Passport\ClientRepository;

// ... snip ...

$clients = App::make(ClientRepository::class);

// 1st param is the user_id - none for client credentials
// 2nd param is the client name
// 3rd param is the redirect URI - none for client credentials
$client = $clients->create(null, 'My Client Name', '');

这里,$client直接是一个 Laravel\Passport\Client 实例。这正是 Artisan 命令创建客户端的方式。

于 2021-11-10T18:50:29.330 回答
0

你可以做

Artisan::call('passport:client --client');

工匠

于 2019-10-31T11:26:04.203 回答