我是新的Laravel Passport,我想创建一个具有user_id的oauth_client,现在表oauth_clients
中的user_id为null。
我要登录并通过user_id获取oauth_clients凭据。
如何基于user_id
创建oauth客户端,所以不是使用php artisan passport:client --password
,而是使用端点。
我希望有人能帮助我实现目标。
答案 0 :(得分:1)
您可以使用ClientRepository::class
。
use Laravel\Passport\ClientRepository;
(new ClientRepository)->createPersonalAccessClient($userId, $name, $redirect);
use Laravel\Passport\ClientRepository;
(new ClientRepository)->createPasswordGrantClient($userId, $name, $redirect);
或者来自Passport::class
Passport::client()->forceFill([
'user_id' => $userId,
'name' => $name,
'secret' => ($confidential || $personalAccess) ? Str::random(40) : null,
'redirect' => $redirect,
'personal_access_client' => $personalAccess,
'password_client' => $password,
'revoked' => false,
]);