Срок действия маркера обновления истекает, и если да, то когда?

Я прочитал документацию PODIO. В частности, я рассмотрел следующее утверждение относительно использования refresh_token:

Этот запрос возвращает те же данные, что и выше, и вы можете продолжить делайте это снова и снова, чтобы аутентифицировать ваше приложение без необходимости запрашивать у пользователя повторную аутентификацию.

Означает ли это, что refresh_token будет бессрочно действителен, или срок его действия истечет:

  1. X дней после выдачи; или
  2. X дней после последнего использования для получения нового access_token

ОБНОВЛЕНИЕ: Пожалуйста, смотрите этот поток PODIO, который задает те же вопросы, но, кажется, не дает каких-либо окончательных ответов о реализации PODIO протокола Oauth2.0.

Ответ 1

Ответ на ваш вопрос:

Означает ли это, что refresh_token будет бесконечно действительным или это истекает?

... можно заключить из раздела 1.5 и раздела 10.4 спецификации OAuth 2.0.

Раздел 1.5 Введение состояний refresh_token:

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

раздел 10.4. Вопросы безопасности для состояний refresh_token:

Сервер авторизации ДОЛЖЕН проверить привязку между обновлением маркер и идентификатор клиента всякий раз, когда идентификатор клиента может быть проверку подлинности. Когда аутентификация клиента невозможна, серверу авторизации СЛЕДУЕТ использовать другие средства для обнаружения токена обновления злоупотребление.

Например, сервер авторизации может использовать токен обновления
ротация, при которой новый токен обновления выдается при каждом доступе
ответ обновления токена. Предыдущий токен обновления признан недействительным, но сохраняется сервером авторизации. Если токен обновления
скомпрометирован и впоследствии использован как злоумышленником, так и
законный клиент, один из них представит недействительное обновление
токен, который сообщит серверу авторизации о взломе.

Можно сделать вывод, что если authorization_server способен проверить привязку между refresh_token и клиентом, которому он был выдан, то refresh_token можно использовать для получения нескольких access_token и никогда не истечет. иначе сервер авторизации сделает недействительным старый refresh_token и сгенерирует новый refresh_token с каждым ответом на обновление маркера доступа.

Ответ 2

Обновление токенов истечет через X дней (или часов) после их создания. В зависимости от ваших требований безопасности это истечение будет 1 месяц или 1 час.

Вы должны принять решение, заботясь о некоторых аспектах как функциональности и безопасности.

  • Если вы решите приоритезировать безопасность, короткое истечение может сделать ваше приложение анонимным для пользователя.
  • Если вы решили перенести функциональность, ваше приложение может быть более уязвимым.