@ -200,20 +200,20 @@ OAuth2 со scopes — это механизм, который использу
Иерархия зависимостей и scopes выглядит так:
- Операция пути `read_own_items`:
- Запрашивает scopes `["items"]` с зависимостью:
-`get_current_active_user`:
- Функция‑зависимость `get_current_active_user`:
- Запрашивает scopes `["me"]` с зависимостью:
-`get_current_user`:
- Функция‑зависимость `get_current_user`:
- Собственных scopes не запрашивает.
- Имеет зависимость, использующую `oauth2_scheme`.
- Имеет параметр `security_scopes` типа `SecurityScopes`:
- Этот параметр `security_scopes` имеет свойство `scopes` с `list`, содержащим все объявленные выше scopes, то есть:
-`security_scopes.scopes` будет содержать `["me", "items"]` для операции пути `read_own_items`.
-`security_scopes.scopes` будет содержать `["me"]` для операции пути `read_users_me`, потому что он объявлен в зависимости `get_current_active_user`.
-`security_scopes.scopes` будет содержать `[]` (ничего) для операции пути `read_system_status`, потому что там не объявлялся `Security` со `scopes`, и его зависимость `get_current_user` тоже не объявляет `scopes`.
* Операция пути `read_own_items`:
* Запрашивает scopes `["items"]` с зависимостью:
*`get_current_active_user`:
* Функция‑зависимость `get_current_active_user`:
* Запрашивает scopes `["me"]` с зависимостью:
*`get_current_user`:
* Функция‑зависимость `get_current_user`:
* Собственных scopes не запрашивает.
* Имеет зависимость, использующую `oauth2_scheme`.
* Имеет параметр `security_scopes` типа `SecurityScopes`:
* Этот параметр `security_scopes` имеет свойство `scopes` с `list`, содержащим все объявленные выше scopes, то есть:
*`security_scopes.scopes` будет содержать `["me", "items"]` для операции пути `read_own_items`.
*`security_scopes.scopes` будет содержать `["me"]` для операции пути `read_users_me`, потому что он объявлен в зависимости `get_current_active_user`.
*`security_scopes.scopes` будет содержать `[]` (ничего) для операции пути `read_system_status`, потому что там не объявлялся `Security` со `scopes`, и его зависимость `get_current_user` тоже не объявляет `scopes`.