revoke
[POST] /oauth/revoke
Метод отзывает выданный токен. Используйте его, когда пользователь отключил интеграцию, приложение выполняет локальный выход или вам нужно прекратить доступ раньше окончания срока действия токена.
Запрос отправляется как application/x-www-form-urlencoded. Confidential-клиент подтверждает себя через Basic Auth или через client_id и client_secret в теле формы. Public-клиент передаёт client_id без секрета. Каждый клиент может отзывать только собственные токены.
curl -X POST https://auth.regos.uz/oauth/revoke \
-H "Content-Type: application/x-www-form-urlencoded" \
-u "your_client_id:your_client_secret" \
-d "token=opaque_access_token" \
-d "token_type_hint=access_token"
Параметры:
| Название | Обязательность | Описание |
|---|---|---|
token |
Да | Access token или refresh token, который нужно отозвать. |
token_type_hint |
Нет | access_token или refresh_token; это подсказка, фактический тип токена проверяется сервером. |
client_id |
Да, если не используется Basic Auth | Идентификатор клиента. |
client_secret |
Только для confidential-клиента без Basic Auth | Секрет клиента. Public-клиент его не передаёт. |
При успешном отзыве сервер возвращает пустой ответ 204 No Content. После этого приложение должно удалить токены у себя и не пытаться использовать их снова.
Если токен уже неактивен, приложение все равно должно считать локальную очистку успешной: пользователю важно, что интеграция больше не использует старые учетные данные.
Отзыв refresh token публичным приложением
curl -X POST https://auth.regos.uz/oauth/revoke \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "client_id=your_client_id" \
--data-urlencode "token=opaque_refresh_token" \
--data-urlencode "token_type_hint=refresh_token"
При отзыве refresh token отзывается вся его цепочка, включая новые токены, выданные при ротации. Это действует и для старого использованного refresh token, пока сохраняется его цепочка. Другие независимые авторизации клиента не отзываются. Неизвестный токен возвращает такой же успешный ответ; чужой токен не отзывается.
Отзыв access token делает недействительной соответствующую пару access/refresh tokens. Для гарантированного отзыва всей цепочки передавайте refresh token. Отзыв не равен выходу из браузерной сессии REGOS: для этого используется /oauth/logout.
Для opaque access tokens API проверяет состояние через introspection. Отозванные токены возвращают active: false. При сбоях инвалидирования кэша задержка на стороне REGOS может достигать 30 секунд; собственный кэш API добавляет задержку. Срок действия токена определяется настройками клиента или наследуется от сервера.