[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-refresh-token::ru":3,"gloss-cluster-refresh-token::ru":26,"gloss-next-refresh-token::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"refresh-token","integration","Refresh-токен (токен обновления)","Refresh-токен — это долгоживущий секрет, единственная задача которого получать новые короткоживущие access-токены. Разделение появилось потому, что два требования тянут в разные стороны: access-токен уходит с каждым вызовом API и должен быстро истекать, чтобы утёкший перестал работать за минуты, а пользователь или интеграция не должны переавторизовываться каждый час. Access-токен тратится постоянно и стоит немного; refresh-токен используется редко, ходит только на сервер авторизации и стоит дорого. Для SaaS-продукта это обычно самая незаметная часть интеграции и самая частая причина того, что интеграция замолкает. Связь, работавшая при настройке, ломается через недели: у refresh-токена вышел абсолютный срок жизни, его отозвали при смене пароля или доступ забрали с экрана согласия, который никто в вашей команде не видит. API возвращает ошибку авторизации, а не ошибку синхронизации, поэтому наивный цикл повторов долбит эндпоинт, и о сбое первым узнаёт клиент, а не вы. Решают две вещи. Ротация refresh-токена выдаёт новый токен при каждом использовании и гасит предыдущий — украденный токен превращается в наблюдаемое событие: если старый предъявлен снова, значит повтор делает либо злоумышленник, либо законный клиент, и безопасная реакция состоит в том, чтобы отозвать всю цепочку. Хранение — это хранение учётных данных: шифрование на диске, никаких токенов в логах и в адресной строке, привязка к одному арендатору. Практический совет: держите срок жизни рядом с токеном, обновляйте заранее, а не по первой ошибке, и показывайте сломанное подключение в интерфейсе как действие, которое клиент может выполнить сам, — переавторизовать может только он.","Refresh-токен выдаёт новые короткоживущие access-токены: зачем нужна ротация и почему интеграция, работавшая при настройке, через месяц замолкает.",null,[11,14,17,20,23],{"slug":12,"name":13},"api-key","API-ключ (API Key)",{"slug":15,"name":16},"json-web-token","JSON Web Token (JWT)",{"slug":18,"name":19},"key-rotation","Ротация ключей",{"slug":21,"name":22},"oauth-scopes","OAuth-скоупы",{"slug":24,"name":25},"service-account","Сервисный аккаунт",[27,31,34,37,40,43,47,50,53,54,57,60],{"slug":28,"category":5,"name":29,"updated_at":30},"backend-for-frontend","Backend for Frontend (BFF)","2026-08-24T02:46:38+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"concurrency-limit","Лимит параллельных запросов",{"slug":35,"category":5,"name":36,"updated_at":30},"event-ordering","Порядок событий",{"slug":38,"category":5,"name":39,"updated_at":30},"field-mapping","Сопоставление полей (field mapping)",{"slug":41,"category":5,"name":42,"updated_at":30},"function-schema","Схема функции",{"slug":44,"category":5,"name":45,"updated_at":46},"grpc","gRPC","2026-08-24T02:46:37+00:00",{"slug":48,"category":5,"name":49,"updated_at":30},"integration-marketplace","Каталог интеграций (integration marketplace)",{"slug":51,"category":5,"name":52,"updated_at":30},"ip-allowlist","IP-allowlist (список разрешённых адресов)",{"slug":15,"category":5,"name":16,"updated_at":30},{"slug":55,"category":5,"name":56,"updated_at":30},"mcp-server","MCP-сервер",{"slug":58,"category":5,"name":59,"updated_at":30},"mutual-tls","Взаимный TLS (mTLS)",{"slug":21,"category":5,"name":22,"updated_at":30}]