Понимание важности указания токена "iat" и устранение ошибки "Неверное время выдачи"
В этом посте мы рассмотрим, насколько важно требование "iat" в токене идентификации и как устранить ошибку "Неверное время выдачи в токене идентификации".
В этом посте мы рассмотрим, насколько важно требование "iat" в токене идентификации и как устранить ошибку "Неверное время выдачи в токене идентификации".
В нашем сообществе время от времени мы слышим от наших пользователей о проблеме "Неверное время выдачи в токене идентификации", которая вызывает головокружение. Наши пользователи жалуются, что "это работало вчера, но вдруг не работает сегодня" или "это работает на этом компьютере, но не на другом".
В этом посте мы рассмотрим, почему эта проблема происходит в Logto, и вооружим вас знаниями, как с ней справиться.
В OAuth 2.0 и OpenID Connect (OIDC) ID-токены играют жизненно важную роль в безопасной передаче информации о личности пользователя между сторонами. Одно из утверждений в ID-токене называется "iat" (время выдачи), представляя временную метку, в которой ID-токен был выдан сервером авторизации.
Теперь основная причина печально известной ошибки "Неверное время выдачи" почти ясна.
Для противодействия атакам повторного воспроизведения и учета рассогласования времени Logto ранее установил окно терпимости в 60 секунд для ID-токенов. Любая полагающаяся сторона, которая имеет разницу во времени более 60 секунд от мирового времени, считается потенциально подверженной риску и не пройдет проверку ID-токена. Таким образом, ошибка "Неверное время выдачи".
Однако в реальном мире рассогласование времени происходит, иногда ваш компьютер не может подключиться к серверу мирового времени для синхронизации времени. Иногда сервер авторизации не синхронизирован. Иногда, что еще хуже, оба не синхронизированы.
Более того, в сценариях SSO разница во временах между различными клиентами и поставщиком SSO может быть еще больше.
Чтобы снизить неудобства и также учесть меры безопасности, Logto теперь увеличил допуск по "iat" с 60 секунд до 5 минут для аутентификаций, не связанных с SSO, и до 10 минут для сценариев SSO.
Между тем, вы можете проверить, синхронизировано ли время на вашем компьютере с мировым временем, просто используя этот удобный сайт: https://time.is Синхронизируйте время вручную или переключитесь на другой сервер времени, чтобы убедиться, что разница во времени всегда находится в пределах нашего окна терпимости.
Указание "iat" в ID-токенах является ключевым элементом для повышения безопасности управления идентификацией и доступом в современных приложениях. Внедрение лучших практик для работы с указанием "iat" обеспечивает надежный и безопасный процесс аутентификации пользователя.
Также убедитесь, что время на вашем компьютере всегда синхронизировано с сервером мирового времени.