Автономный доступ IdentityServer4 и обновление токена доступа

#identityserver4

#identityserver4

Вопрос:

У меня есть довольно стандартное требование к службе OAuth2, которая позволяет клиенту запрашивать токен offline_access и обменивать токен обновления на токен доступа, когда срок его действия истек.

Хотя, похоже, это вообще не работает. Мой клиент интегрируется в Zapier. Клиент zapier способен нормально проходить аутентификацию. Однако через час токен, похоже, истек, Но клиент по какой-либо причине не смог получить новый токен.

Ниже приведена таблица моих сохраненных грантов, показывающая, что (я думаю) доступ к токену обновления был получен или создан, хотя время истечения срока действия, похоже, предшествует времени создания??:

введите описание изображения здесь

и мой клиент выглядит следующим образом — извлечены подробности:

введите описание изображения здесь

В журналах Identityserver4 есть только еще одна вещь::

введите описание изображения здесь

Я не уверен, почему это может быть так?

Обновить

Zapier определенно протянет руку и выполнит обновление:

введите описание изображения здесь

Ответ №1:

Вы не можете предположить, что обновление токена доступа обрабатывается автоматически для вас.

В зависимости от реализации клиента, вам может потребоваться выполнить обновление токена вручную, а иногда это обрабатывается автоматически.

Вы можете регулировать время жизни своих токенов, и вы можете настроить их, установив эти значения:

 public int IdentityTokenLifetime { get; set; } = 300;               //5 minutes
public int AccessTokenLifetime { get; set; } = 3600;                //1 hour
public int AuthorizationCodeLifetime { get; set; } = 300;           //5 minutes
public int AbsoluteRefreshTokenLifetime { get; set; } = 2592000;    //30 days
public int SlidingRefreshTokenLifetime { get; set; } = 1296000;     //15 days
  

Однако всегда существует компромисс между удобством и безопасностью. Наличие токена доступа с длительным сроком службы может быть проблемой безопасности. Возможно, ограничить это одной неделей или двумя и снова разрешить пользователю войти в систему?

Комментарии:

1. Только что отредактировал мой вопрос. Это действительно доступно. Я открыт для того, чтобы не использовать токены обновления, а просто использовать токен бесконечного доступа. Возможно ли это?