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