Назад к вопросам
СБЕР Корпус
Junior — Middle
63
Каким образом реализовано хранение токенов в вашем последнем проекте?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В моём последнем Java-проекте для хранения токенов аутентификации использовался подход с JWT (JSON Web Tokens), где сам токен не хранился на сервере, а проверялся по подписи.
Однако для refresh-токенов и сессий применялось хранение в базе данных (PostgreSQL) с таблицей, содержащей:
- Идентификатор токена
- Пользовательский ID
- Время создания и истечения срока действия
- Статус (активен/отозван)
Это позволяло эффективно управлять сессиями и отзывать токены при необходимости.
Пример структуры таблицы:
CREATE TABLE refresh_tokens (
token_id SERIAL PRIMARY KEY,
user_id INT NOT NULL,
token VARCHAR(512) NOT NULL,
created_at TIMESTAMP NOT NULL,
expires_at TIMESTAMP NOT NULL,
revoked BOOLEAN DEFAULT FALSE
);
В приложении при аутентификации создавался новый refresh-токен и сохранялся в эту таблицу. При запросе обновления access-токена проверялось наличие и статус refresh-токена в базе.