В таблицу oauth_access_token вставлено неверное значение - PullRequest
0 голосов
/ 04 января 2019

Я устанавливаю паспорт Laravel в моем приложении Laravel, и он не работает должным образом, когда я выполняю от Request::create до /oauth/token, а Laravel / Passport просто вставляет мое имя пользователя в неправильный столбец (user_id) втаблица oauth_access_tokens.

SQLSTATE [22007]: неверный формат даты и времени: 1366 Неверное целочисленное значение: «admin» для столбца «user_id» в строке 1 (SQL: вставить в oauth_access_tokens (id, user_id, client_id, scopes, revoked, created_at, updated_at, expires_at) значения (720b884efdcc52f13bc1af44703fab477eb37731404104b9da90d9c9e9164809c0fe754b74fc6814, администратор, 2, [], 0, 2019-01-04 06:11:32, 2019-01-04 06:11:32, 2019-01-04 06:26:32))

Для вашей информации в моей пользовательской таблице нет типичного адреса электронной почты / пароля.Это существующая база данных, которую я должен построить модель каждой таблицы.Таким образом, в основном у меня есть имя поля, как показано ниже

  • us_username
  • us_password ~ ​​существующая база данных использует md5 для ее хеширования, поэтому я делаю собственного провайдера
  • us_email

и вот как я называю запрос /oauth/token

$data = [
    'grant_type' => 'password',
    'client_id' => $client->id,
    'client_secret' => $client->secret,
    'username' => request('us_username'),
    'password' => request('password'),
    'scope' => '',
];

$reqwest = Request::create('/oauth/token', 'POST', $data);

Я ожидаю, что он будет вставлен как обычно, потому что я могу войти как обычно через веб-интерфейс.

1 Ответ

0 голосов
/ 04 января 2019

похоже, что $ client-> id имеет значения 'admin' ..

проверьте, почему ваши значения $ client-> id равны admin .. может быть, это потому, что ваш ввод или ваша таблица пользователей в базе данных

...