2016-02-01 3 views
0

Использование JWT Auth + Laravel и Ionic для мобильного приложения.Последствия увеличения токена Auth TTL/Лучшие практики

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

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

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

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

+0

прочитайте об обновлении токена –

ответ

0

Если вы посмотрите на wiki-страницу jwt-auth package по адресу authentication. Существует промежуточное ПО Tymon\JWTAuth\Middleware\RefreshToken, как это работает.

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

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

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

+0

Я читал Wiki несколько раз, применил ли я как jwt.auth, так и jwt.refresh middlewares на моих маршрутах? И если кто-то неактивен дольше 60 минут, будет ли он повторно аутентифицироваться? – Lovelock

+0

@ Lovelock не будет. вам, вероятно, нужны долгоживущие токены, просто убедитесь, что вы используете закрытый пароль + клиент SSL –