Auth#
Схемы#
BearerScheme(name="bearer")
BasicScheme(name="basic")
ApiKeyScheme.header("X-API-Key", name="api_key")
ApiKeyScheme.query("api_key", name="api_key")
CookieScheme("session_id", name="cookie")
Учётные данные#
auth = scheme.static(credential)
Композиция#
all_of(USER_AUTH, DEVICE_AUTH)
any_of(all_of(USER_AUTH, DEVICE_AUTH), BASIC)
Параметр security объявления операции принимает схему, SecurityAlternative, SecurityPolicy или None.
Фабрика |
Тип учётных данных |
Размещение в HTTP |
|---|---|---|
|
|
|
|
|
|
|
|
Заголовок запроса |
|
|
Параметр query |
|
|
Cookie |
|
модель сессии |
Несколько мест запроса сразу |
CookieScheme задаёт ключ, который приносит вызывающий. Сессию, которую сайт ведёт на куках сам,
объявляет Cookies(...) на корне; вместе с CookieScheme на одном сервисе она не объявляется.
scheme.static(credential) создаёт привязку авторизации клиента. all_of(...) возвращает одну
AND-альтернативу, а any_of(...) создаёт OR-политику. Runtime выбирает только полностью
разрешимую альтернативу и не смешивает учётные данные разных вариантов.
Для жизненного цикла сессии используйте session_auth(...). Рукописный
SDK может объявить переиспользуемую session_scheme(...) в атрибуте security роутера и вызвать
её .configure(...). Контракты описаны в справочнике сессий.