Scopes
Scope - механизм в OAuth 2.0, ограничивающий доступ приложения к аккаунту пользователя. Приложение может запросить один или несколько scopes, об этом будет выведено в скрине уведомления пользователю, и приложению будет выдан access-токен только ограниченному разрешенному пользователем скопу.
OAuth спецификация разрешает серверу авторизации или пользователю изменять скоп в зависимости от каких либо условий (например, разные скопы для веб и мобильного приложений), но на практике это редкий случай.
Набор scop'ов не определены в OAuth.
Scope Definitions
При построении модели доступа на основе скопов, стоит начать с разделения на read и write доступы.
Доступ может выдаваться на ресурс, на функциональность, на определенный набор данных.
Так же, крайне рекомендуется делать отдельный скоп для ресурсов, связанных с платежами, для ограничения возможного неправомерного использования функциональности платежей и переводов сторонними приложениями. Другой пример — разграничение доступа к лицензионному ресурсу, демо-ресурсу или публично-доступному ресурсу на основе скопов.
Сервер авторизации должен явно показывать пользователю те ресурсы на основе скопов, к которым OAuth-клиент запросил доступ.
Modification Scope and Checkboxes
Хотя эта функция кажется недостаточно используемой, спецификация OAuth 2.0 явно позволяет серверу авторизации предоставлять токен доступа с меньшей областью действия, чем запросы приложения. Это оставляет место для некоторых интересных возможностей. Например, пользователь может дать разрешение на доступ, но только с измененным им скопом.
Last updated