Маркер обновления паспорта Laravel остается в силе даже после удаления записи из базы данных - PullRequest
0 голосов
/ 03 октября 2018

Я использую Laravel 5.3 и Passport для API.

В моем сценарии я хочу разрешить только один пользовательский доступ к моему API.Если пользователь пытается получить доступ к API с другого устройства, предыдущее устройство должно автоматически выйти из системы, или токены, связанные с этим устройством, станут недействительными.

Я мог бы просто отметить revoke = 1 в базе данных, ноон оставит много избыточных токенов в таблице и в конечном итоге замедлит API входа в систему, так как он должен пройти через каждую запись access_token и пометить revoke.Я проверил эту гипотезу, и она верна.

Что я реализовал, так это то, что при прослушивании нового поколения токенов я бы удалил существующий доступ и обновил токен из базы данных.Но моя проблема в том, что старый токен обновления все еще действителен и может использоваться для генерации нового набора токенов доступа и обновления.Я что-то здесь упускаю или вот как устроена библиотека для работы?

Любая помощь по этому или альтернативному подходу будет высоко оценена.

Спасибо:)

1 Ответ

0 голосов
/ 24 октября 2018

Я думаю, что это поток, то же самое в моем опыте. Проще всего установить время жизни токена после генерации другого токена
Passport :: tokensExpireIn (now () -> addDays (15));

...