Аутентификация
REST API
Заголовок раздела «REST API»Передавайте ключ в HTTP-заголовке:
X-API-Key: wxs_<prefix>_<secret>import osimport httpx
client = httpx.Client( base_url="https://wxs.weatherpaper.org", headers={"X-API-Key": os.environ["WXS_API_KEY"]}, timeout=30,)profile = client.get("/api/account/me")profile.raise_for_status()print(profile.json())Zarr-клиенты
Заголовок раздела «Zarr-клиенты»Zarr gate также принимает ?api_key=..., поскольку не каждый клиент умеет добавлять
заголовки к запросам метаданных и чанков. Query-параметр используйте только для доверенных
непубличных клиентов: URL может попасть в историю, proxy-логи и трассировку.
Хранение секрета
Заголовок раздела «Хранение секрета»- На локальной машине — переменная окружения или менеджер секретов.
- В Compose/Kubernetes — secret, а не значение в образе или репозитории.
- В браузере — не хранить постоянный API-ключ; публичная карта специально работает без него.
- При подозрении на утечку — создать новый ключ, обновить клиента и отозвать старый по
key_id.
API-ключ даёт права пользователя, который его создал. Админские операции дополнительно
проверяют is_admin; отдельного «админского токена» в query string нет.