Последствия увеличения срока жизни токена аутентификации / рекомендации

Использование JWT Auth + Laravel и Ionic для мобильного приложения.

Я хочу, чтобы пользователи оставались в системе до тех пор, пока они не выйдут физически с помощью кнопки. JWT имеет «60» (час) в качестве TTL для токена.

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

Существует множество терминов для обновления токенов и т. д., но может ли кто-нибудь дать краткий обзор того, как обращаться с долгосрочными токенами?

Я должен установить обновление каждые 60 минут, каждый запрос или у меня длинный TTL?


person Lovelock    schedule 01.02.2016    source источник
comment
прочитать о токене обновления   -  person Amir Bar    schedule 01.02.2016


Ответы (1)


Если вы посмотрите на вики-страницу jwt-auth на аутентификация. Существует промежуточное программное обеспечение Tymon\JWTAuth\Middleware\RefreshToken, как это работает.

Это промежуточное программное обеспечение снова попытается проанализировать токен из запроса и, в свою очередь, обновит токен (таким образом сделав старый недействительным) и вернет его как часть следующего ответа. По сути, это дает поток токенов одноразового использования, который уменьшает окно атаки, если токен скомпрометирован, поскольку он действителен только для одного запроса.

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

Если вы не используете пакет jwt-auth, вы все равно можете применить логику, которая вам просто нужна, чтобы передать новый токен в заголовке вашего ответа, см. Промежуточное ПО RefreshToken для примера.

person Mark Davidson    schedule 01.02.2016
comment
Я несколько раз читал вики, стал бы я применять промежуточное ПО jwt.auth и jwt.refresh на своих маршрутах? И если кто-то неактивен более 60 минут, будет ли это повторно аутентифицировать его? - person Lovelock; 01.02.2016
comment
@Lovelock, этого не будет. вам, вероятно, нужны долгоживущие токены, просто убедитесь, что вы используете только клиент с закрытым паролем + SSL - person Denis Mysenko; 12.12.2016