Ответ 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
с каждым ответом на обновление маркера доступа.