последние штрихи версии два

10 сентября 2026 г. authdevloggo

последние штрихи версии два

Последние дни были про большие функции, роли и языки. А это метла, которая идёт следом: мелочи, которые как следует закрывают версию два.

сайт на китайском, после наступления темноты

Главная страница на китайском с тёмной темой. Всё тот же остров.

Список изменений пуст впервые с лета. Каждый кусок версии два выпущен, проверен и разложен по полкам: спецификации, описывающие, как всё должно себя вести, теперь живут в одной библиотеке, девятнадцать способностей глубиной, так что в следующий раз, когда я задумаюсь «стоп, а что я решил насчёт сроков хранения», ответ будет записан, а не жить у меня в голове.

И одно исправление, которое заслуживает отдельного абзаца, потому что оно бесило меня неделями, прежде чем я его понял: сайт постоянно меня разлогинивал. Примерно каждые пятнадцать минут: вылет, входи заново. Токен обновления, который должен держать сессию живой тридцать дней, всё это время был на месте, в куке, ограниченной путём /auth, а значит браузер отправлял её только на auth-запросы. Обычные заходы на страницы её не несли, так что тихому продлению, которое выполняется при каждой загрузке страницы, просто нечем было продлевать. Исправление по сути в одну строку:

return &http.Cookie{
    Name:     "refresh_token",
    Value:    rawToken,
    Path:     "/", // was "/auth", which the browser never sent on page visits
    HttpOnly: true,
    Secure:   s.CookieSecure,
    SameSite: http.SameSiteStrictMode,
}

Одна строка, а дальше классический второй акт: первая версия исправления уронила мой тестовый сервер. Когда кука стала видна повсюду, логика продления срабатывала и при обработке самих auth-запросов, что запускало ещё одно продление, и ещё одно. Бесконечный цикл, память кончилась, сервер умер. Защита от этого тоже на месте, и я специально проверил тот самый сценарий: истёкший токен сессии, загрузка страницы, всё ещё в системе.

Так что если сайт раньше разлогинивал вас посреди комментария: больше не должен. Войдите один раз, и это надолго.

0 комментариев

Войдите , чтобы оставить комментарий.

Войти

Забыли пароль?

Нет аккаунта?