Насколько я понимаю, AbsoluteRefreshTokenLifetime и SlidingRefreshTokenLifetime не применяются к неявному потоку, для которого клиенты oidc должны быть установлены:
http://docs.identityserver.io/en/release/topics/refresh_tokens.html
Поскольку маркеры доступа имеют ограниченный срок службыТокены обновления позволяют запрашивать новые токены доступа без взаимодействия с пользователем.
Токены обновления поддерживаются для следующих потоков: код авторизации, гибридный поток и поток учетных данных владельца пароля.Клиенты должны быть явно авторизованы для запроса токенов обновления, установив для параметра AllowOfflineAccess значение true
У меня возникает похожая ситуация, когда для тестирования у меня установлен cookie с истечением 15 минут со скользящим сроком действия и согласноПриведенный ниже поток вопросов звучит так, как будто это нужно обрабатывать вручную, если использовать автоматическое обновление:
https://github.com/IdentityModel/oidc-client-js/issues/402
Я новичок в клиентах javascript, поэтому я все еще пытаюсь выяснить, как вы определяетеприсутствует ли пользователь или нет.Я надеялся, что файл cookie позаботится об этом для меня, но похоже, что он продолжает расширяться в зависимости от того потока, который я отправил.
Обновление
После тестирования и тонныпоиск в Google - вот то, что мне удалось получить для работы / понимания в отношении времени жизни Access Token и автоматического обновления.
Сначала я предполагаю, что вы используете oidc-client или redux-oidc.Я использую redux-oidc, который является просто оболочкой для oidc-client.
Так как у вас время жизни токена доступа (AccessTokenLifetime) установлено на 5 минут и у вас молча возобновление = true.Это будет обновляться каждые 2,5 минуты или в зависимости от того, что для userManager.accessTokenExpiringNotificationTime установлено.В это время он будет обновлять токен доступа в зависимости от того, какое время ожидания истечения срока действия cookie установлено.Печенье - это то, где происходит волшебство.Если срок действия файла cookie истечет, вы больше не сможете обновить токен доступа.cookie настроен следующим образом:
Identity Server start.cs (это устанавливает скользящий срок действия файла cookie):
var builder = services.AddIdentityServer (параметры=> {options.Authentication.CookieSlidingExpiration = true;})
Identity Server AccountController.cs, метод входа в систему (если вы помните функциональность меня, вы можете изменить значение IsPersistent, tsConfigValue = 15):
var props = new AuthenticationProperties {IsPersistent = false, ExpiresUtc = DateTimeOffset.UtcNow.Add (TimeSpan.FromMinutes (tsConfigValue))};
Это закончилосьрешить мою проблему с помощью маркера доступа и молчаливого обновления.Надеюсь, это поможет.