Listing Authorizations and Revoking Access Flow
Listing Authorizations
В OAuth 2.0 спецификации нет требований, чтобы пользователь мог отозвать доступ или мог узнать, как это сделать через клиентов OAuth.
Большое количество OAuth-провайдеров предоставляют доступ об авторизованных ими OAuth-клиентах, и к чему доступ им предоставлен.
Revoking Access
Для чего это может потребоваться:
Пользователи могут захотеть отозвать доступ для приложения, которым они больше не пользуются
Разработчики могут захотеть отозвать все токены пользователей для их приложения
Разработчики могут удалить свое приложение
Провайдеры OAuth должны иметь механизм удаления или приостановления работы скомпромитированного или вредоносного приложения
Способы отзыва
Иметь базу токенов
Использование Self-Encoded токенов чуть осложняет отзыв. Если у нас действительно stateless механизм проверки токенов и сервер ресурсов проверяет токен, без обращения к другому сервису, то остается только дождаться, пока срок жизни токена истечет, и не давать приложению создавать новые токены для пользователя. Это причина, по которой время жизни токена должна быть как можно меньше, если он self-encoded.
Если нет возможности отозвать отдельный access-токен, вы должны иметь механизм отзыва refresh-токена для конкретного пользователя. В этом случае, по отозванному refresh-токену, сервер авторизации не должен выдавать новые access-токены.
Last updated