Почему токены доступа аннулируются после каждого запроса?

В документации devise_token_auth говорится, что «токены должны быть признаны недействительными после каждого запроса к API». https://github.com/lynndylanhurley/devise_token_auth/blob/master/docs/conceptual.md#about-token-management

Но почему? Каков риск, если токены не будут аннулированы после каждого запроса? Например, что, если токен действителен в течение минуты или двух после запроса? Или, если токен остается действительным в течение недели или двух?


person repalviglator    schedule 13.04.2020    source источник


Ответы (1)


Токен, созданный devise_token_auth, является токеном учетных данных: он суммирует ваш логин и пароль; поэтому с помощью этой единственной строки вы можете идентифицировать себя в своем приложении.

Чтобы быть максимально безопасным, вы должны как можно быстрее аннулировать этот токен: пока токен действителен, кто-то может использовать его для доступа к вашему драгоценному бекону.

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

Но использование другого механизма будет стоить вам: каждый раз, когда я разговариваю с вами, я отдам вам свой токен, вам придется производить вычисления (=> CPU), чтобы проверить, как давно я с вами разговаривал (так что у вас также есть для хранения (=> памяти) этой информации).

Это мое понимание причины

person gfd    schedule 26.05.2020