Мне нужно проверить дополнительные поля в моей таблице users
, прежде чем я создаю запрошенные токены, но я не могу найти простой способ сделать это с помощью Passport
.
Я нахожу похожие рабочие инструменты, которые возвращают токен, используя $user->createToken()
, но я не могу найти кого-то, покрывающего все параметры по умолчанию /oauth/token
, такие как refresh_token
Также я вижу, Passport
есть несколько простых способов настройки столбца имени пользователя и проверки пароля, но я думаю, что это не покрывает мои потребности.
Обновление
Я не уверен, является ли это лучшим решением, но в Laravel 5.8
в пакете passport
есть эта функция validateForPassportPasswordGrant()
, которая позволяет добавлять некоторые дополнительные условия перед тем, как завершить процесс аутентификации.
class User extends Authenticatable
{
public function validateForPassportPasswordGrant($password)
{
if ($this->active != true) {
throw OAuthServerException::accessDenied('The account is not active');
}
return Hash::check($password, $this->password);
}
}