Разработчики мобильного приложения используют период ожидания токенов OAuth 2.0 для проверки необходимости повторной аутентификации приложения на сервере.
Это противоречит моему пониманию правильного использования токенов OAuth 2.0, хотя я не совсем уверен, что я прав.
Мое понимание:
OAuth не оаутентификация, но с авторизацией, например, может ли это устройство обращаться к какому-либо ресурсу на сервере от имени пользователя.Аутентификация логически предшествует авторизации и является подтверждением того, что пользователь является тем, кем, по его словам, он является.
Таким образом, пользователь представляет учетные данные (имя пользователя и пароль), и сервер аутентифицирует, что да, этот пользователь - Боб.
Приложение, в которое вошел Боб, хочет получить доступ к некоторым ресурсам на сервере, для которого Боб прошел аутентификацию, например, данные из API.Таким образом, приложение запрашивает токен OAuth, и он предоставляется, и один из его атрибутов - как долго он существует.Приложение и сервер обмениваются ключами, а данные между приложением и сервером шифруются с использованием ключа.
Злоумышленник, читающий открытый текст, не сможет декодировать его без ключа.Однако, если злоумышленник сможет получить ключ, он сможет.
Именно здесь наступает конец жизни токена OAuth. Мы не хотим вечно использовать один и тот же токен (ключ) OAuth, потому что если злоумышленник смог получить этот токен, он может расшифровать наше общение навсегда,Однако если мы обновляем токены каждые x часов, то они могут расшифровать информацию только за x часов (скажем, 2 часа).
Я не думаю, что время истечения токена OAuth должно быть связано с тем, как долго пользователь остается аутентифицированным.Это просто зависит от разработчиков.В нашем случае, если у пользователя есть какая-то защита устройства (например, код доступа), мы можем позволить им оставаться аутентифицированными в течение длительного времени (например, месяцы).Если у них нет защиты устройства, я хочу заставить их пройти повторную аутентификацию после разумного периода бездействия, может быть, 24 часа.
Это правильно или нет, и если нет, то какие части.
Заранее спасибо.
Брайан