Создать пользователя с чертой HasApiTokens fail - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть этот код в Laravel 6. Я думаю, что это правильно, но получаю ошибку

$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = User::create($input);
$success['token'] = $user->createToken('Albarid')->accessToken; // This line get error
$success['name'] = $user->name;

$domain = new Domain;
$domain->domain = $input['domain'];
$domain->user_id = $user->id;
$domain->save();

Использование модели пользователя

use Laravel\Passport\HasApiTokens;

class User extends Authenticatable implements MustVerifyEmail
{
    use HasApiTokens, Notifiable;

Строка ошибки составляет около PersonalAccessTokenFactory в строке 98

protected function createRequest($client, $userId, array $scopes)
{
    return (new ServerRequest)->withParsedBody([
        'grant_type' => 'personal_access',
        'client_id' => $client->id,  // Error is here
        'client_secret' => $client->secret,
        'user_id' => $userId,
        'scope' => implode(' ', $scopes),
    ]);
}

ошибка с try catch

{"success":false,"message":"Problem when saving on database","data":["Trying to get property 'id' of non-object",64]}

На повозке

>>> $success['token'] = $user->createToken('Albarid')->accessToken;
PHP Notice:  Trying to get property 'id' of non-object in /home/abkrim/Sites/albarid/vendor/laravel/passport/src/PersonalAccessTokenFactory.php on line 98

Есть какие-нибудь идеи?

Afetr прочитал несколько постов, попробовав способ.

для меня это не имеет логического объяснения

Перезапустить

php artisan passport:install 
Personal access client created successfully.
Client ID: 3
Client secret: rWVS39yXsfvdAq9cbYR9MPQpiXNOsm9CYZrgxxH6
Password grant client created successfully.
Client ID: 4
Client secret: iRQZQ03uUjLXH2u2BHrY73tzef94UMcMK0yjO5B1

Теперь с 4 клиентами на auth_clients отлично работает

Если вв этой таблице у меня только 2 первых ряда, не работает.

Почему?

Я трачу много времени на эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...