#jwt #identityserver4 #refresh-token
#jwt #identityserver4 #обновить токен
Вопрос:
Я создал клиента на сервере аутентификации Identity Server 4 и установил следующие свойства токена:
var idsClient = new Client
{
ClientName = parsedResult.Name,
ClientId = parsedResult.ClientId,
RequireConsent = false,
RequirePkce = false,
AllowOfflineAccess = true,
AllowAccessTokensViaBrowser = true,
RefreshTokenUsage = TokenUsage.OneTimeOnly,
RefreshTokenExpiration = TokenExpiration.Sliding,
AccessTokenLifetime = 7200, //2 hours
AbsoluteRefreshTokenLifetime = 2592000, //30 days
SlidingRefreshTokenLifetime = 1296000 //15 days
};
Когда я запрашиваю токен доступа, срок его действия устанавливается равным 2 часам, и возвращается значение токена обновления. Когда я запрашиваю токен обновления, срок действия по-прежнему устанавливается на 2 часа вместо 15 дней.
Ответ №1:
Вы не запрашиваете токен обновления, но вы используете токен обновления для запроса токена доступа.
Поскольку вы настроили TokenUsage.OneTimeOnly
, каждый успешный ответ будет возвращать два токена:
- Токен доступа
- Обновить токен
Я не уверен, какой токен вы ожидаете установить на 15 дней, но в данном случае токен доступа всегда должен иметь срок службы два часа.
Комментарии:
1. Вы не можете. Срок действия токена доступа всегда будет составлять два часа.
2. Итак, я понял терминологию, и это то, что я делаю… Я использую токен обновления для запроса токена доступа, и этот токен доступа всегда настроен на истечение срока действия через 2 часа. Как я могу получить токен доступа из запроса на обновление токена, срок действия которого истекает через 15 дней? Срок действия токена обновления составляет 15 дней … то есть он будет запрашивать токен доступа в течение 15 дней, пока не истечет срок его действия? Который, в свою очередь, у каждого токена доступа истекает через 2 часа? Кроме того, я также пробовал RefreshTokenUsage = TokenUsage. Повторное использование с теми же результатами.
3. Хорошо, думаю, теперь у меня все есть. Спасибо
4. Да, вы можете использовать токен доступа в течение 15 дней и максимум в течение 30 дней (абсолютный срок службы токена обновления). Затем пользователь должен войти в систему снова.