Sobes.tech
Back to questions
Junior — Middle
62

Каким образом реализовано хранение токенов в вашем последнем проекте?

Companies where asked
СБЕР КорпусСБЕР Корпус

Answer from AI

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-токена в базе.