Паспорт - создание клиентских учетных данных для предоставления клиенту программных средств

В документации здесь предлагаетсяphp artisan passport:client --clientдля создания клиента, но я хочу сделать это с помощью контроллера или, в идеале, с использованием собственного API JSON, предоставленного паспортом. Возможно ли это вообще, или мне придется переопределить методы вPassport::client?

2 ответа

Решение

Ты можешь сделать

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

Посмотрите на Artisan

Старый вопрос, но вот ответ 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 создает клиентов.

Другие вопросы по тегам