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