Токены: типы и сроки действия
Вот несколько ключевых терминов, с которыми мы столкнемся в пользовательской аутентификации.
-
Токен аутентификации: Токен аутентификации служит цифровым ключом, который предоставляется клиентским приложениям после успешного входа в систему. Этот ключ подтверждает личность пользователя для последующих действий в приложении, устраняя необходимость повторного ввода учетных данных. Он обеспечивает безопасный и упрощенный доступ к функциям приложения.
-
Токен обновления: Этот токен работает как дополнительный механизм для обновления токена аутентификации без необходимости повторного ввода учетных данных пользователем. Это особенно полезно для безопасного поддержания сеанса пользователя, даже если основной токен аутентификации истекает, что повышает как безопасность, так и удобство для пользователя.
-
Время истечения токена: Это срок действия токена аутентификации. Он определяет период, в течение которого токен остается действительным. Это важная мера безопасности, предотвращающая несанкционированный доступ и обеспечивающая регулярное обновление и аутентификацию токенов.
Разработчики должны сохранять эти значения в постоянном состоянии приложения для обеспечения безопасности.
Не все API входа в систему возвращают то кен аутентификации, токен обновления и время истечения токена. Детали ответа зависят от конфигурации вашего серверного API. Всегда проверяйте документацию API, чтобы понять, что возвращается при успешной аутентификации.
Пример аутентификации с использованием токенов
Например, когда пользователь входит в систему с помощью API входа, сервер проверяет предоставленные учетные данные и обычно отвечает токеном аутентификации и токеном обновления (оба — строки). Токен аутентификации имеет короткий срок действия; например, он может быть действительным в течение 1 часа и используется для аутентификации запросов к API (как показано на диаграмме 1.1).
Если вам нужно использовать токен, он обычно включается в любой аутентифицированный запрос к API, например, для доступа к списку пользователей, доступному только вошедшим в систему пользователям. В этом случае приложение отправляет запрос к API с заголовком, содержащим заголовок Authorization с токеном аутентификации.
Через час или в соответствии с временем истечения токена токен аутентификации истекает. Любая попытка доступа к другому ресурсу с истекшим токеном приведет к ответу 401 Unauthorized.
Чтобы получить новый токен, распространенной практикой является отправка клиентским приложением запроса на специальный эндпоинт с сохраненным токеном обновления в теле запроса. Сервер затем проверяет токен обновления и отвечает новым токеном аутентификации.

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