Срок действия токенов доступа намеренно короткий, поэтому украденный токен полезен лишь ненадолго. Токен обновления — это его более длительный срок действия: клиент хранит его, никогда не отправляет на серверы ресурсов и предъявляет его только серверу авторизации, когда ему требуется новый токен доступа.
Когда API выдает ошибку 401 из-за истечения срока действия токена доступа — или чуть раньше, — клиент отправляет POST-запрос grant_type=refresh_token на конечную точку токена и получает новый токен доступа, часто с новым токеном обновления, который заменяет старый (ротация). Повторное использование ротированного токена обновления является признаком кражи, и хорошо спроектированные серверы затем отзывают всю цепочку.
Обновление при каждой ошибке 401 — это правильно. Ошибка 401, вызванная отозванным или недействительным токеном, снова завершится неудачей после обновления; клиент, который обновляет и повторяет попытки без ограничений, превращает выход из системы в бесконечный цикл. Обновите один раз, повторите попытку один раз и отправьте пользователя на повторный вход, если это не удастся.
POST /auth/v1/oauth/token выдает токен обновления в потоке кода авторизации и принимает grantType refresh_token с этим refreshToken для получения нового токена доступа. Токены доступа здесь истекают через 15 секунд, поэтому путь обновления достигается быстро.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление