Oauth2.authorizationserver refresh_token_expires_at

Здравствуйте.

Возникает ситуация, когда в таблице oauth2_authorization
дата refresh_token_expires_at меньше даты access_token_expires_at

Например:
“access_token_expires_at” : “2025-05-28T12:42:56.120Z”,
“refresh_token_expires_at” : “2025-05-10T10:45:41.415Z”

В результате access_token истек, и refresh_token истек еще раньше.
Пользователь вынужден заново вводить пароль для авторизации.

Это проявляется не у всех пользователей.

В properties указаны такие сроки жизни токенов
spring.security.oauth2.authorizationserver.client.restclient.token.access-token-time-to-live=30m
spring.security.oauth2.authorizationserver.client.restclient.token.refresh-token-time-to-live=2400h

в большинстве сроки жизни соответствуют настройкам
но у некоторых срок между issued и expires не такой как в properties

При этом проблема в том, что access токен обновляется, а refresh нет.
Refresh токен выдался и не менялся.

С чем это может быть связано?

Добрый день.

Правильно ли я понимаю, что бывают ситуации, когда свежий (после логина) refresh токен имеет время жизни меньше, чем заявленное в refresh-token-time-to-live?

Или же ваш случай в том, что получение нового access токена при помощи refresh токена не обновляет время жизни refresh токена, но изначально TTL был валидный?

С уважением,
Иван

Добрый день

Думаю что похоже на 2 вариант.
Access токен выдается, пока refresh_token_expires_at остается скажем на 3 месяца вперед.
Но в итоге (через 3 мес) он становится меньше чем новый access_token_expires_at.

И уже с его помощью нельзя получить новый access.
Нужно авторизоваться по паролю через oauth/token
Получим новый access token, но refresh останется как был когда-то выдан 3 мес. назад
Поэтому по истечении access снова нужен ввод пароля, так-как refresh то уже истек.

Добрый день.

Оставление существующего refresh токена (с оригинальным expires at) при его использовании для получения access токена еще можно ожидать.
Но продолжение использования “старого” refresh токена при запросе полностью нового access токена через указание логина\пароля - это очень странно и ранее не было замечено.
Необходимо исследование.

С уважением,
Иван