Я устанавливаю паспорт 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);
Я ожидаю, что он будет вставлен как обычно, потому что я могу войти как обычно через веб-интерфейс.