Я использую Laravel 5.2 и tymondesigns / jwt-auth.

Можно ли занести в черный список старый токен, если пользователь снова вошел в систему без выхода? Мне интересно узнать о безопасности старого токена.

Любые предложения о том, как улучшить «всегда входить в систему» на мобильном устройстве, поскольку в настоящее время я использую Laravel в качестве API.

Моя текущая конфигурация: ttl = 1 час & refresh_ttl = 2 недели

4
user1294914 5 Май 2016 в 23:09

3 ответа

Лучший ответ

На самом деле ответ @Jeff может решить проблему. Мне нужно использовать промежуточное ПО jwt.refresh.

Мой черный список JWT не работает, потому что я использую array как CACHE_DRIVER

Я протестировал возврат к file, поскольку CACHE_DRIVER и jwt.refresh работают, старый токен занесен в черный список, как и должно быть.

Я отмечаю это как ответ. Спасибо, Джефф.

3
user1294914user1294914 6 Май 2016 в 20:58

Вы можете использовать промежуточное ПО jwt.refresh, которое в ответ отправляет новый токен в качестве заголовка. Если у вас включен черный список, старый токен будет немедленно занесен в черный список. Просто включите jwt.refresh в свой маршрут входа, а затем убедитесь, что захватили заголовок ответа и обновите свой локальный ключ. Затем вы можете сделать свои ttl и refresh_ttl неограниченными (т. Е. 60*60*24*365*10)

3
Jeff 5 Май 2016 в 20:20

Вы можете создать таблицу для хранения токена при первом входе пользователя в систему.

Когда этот пользователь снова входит в систему, вы получаете старый токен (из своей таблицы), затем заносите старый в черный список, обновляете таблицу новым, который создается сразу после входа в систему.

0
Lan Nguyen 20 Май 2016 в 08:50