# Ключ сайту для WordPress

Плагін AstroWay для WordPress отримує ключ сам, без реєстрації: сайт показує доказ на своєму REST-маршруті, ми його перевіряємо й видаємо ключ, прив'язаний до цього сайту.

## Як проходить перевірка

1. Плагін генерує `proof_id` (UUID v4) і `proof` (32 випадкові байти в base64url, 43 символи) і тримає їх 10 хвилин.
2. Сайт віддає `GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id>` з `Content-Type: application/json` і тілом `{"proof":"<proof>"}`.
3. Плагін надсилає `POST /v1/site-keys`:

```json
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 символи>" }
```

`site_url` це рівно `home_url()`, без `?` і `#`. Для простих постійних посилань передайте `verify_url` з `?rest_route=/astroway/v1/verify`: він приймається лише на тому ж сайті й лише як цей маршрут.

## Що дає ключ

- для сервера сайту: запит із браузера (з заголовком `Origin`) отримує 403, а кожен виклик має називати сайт у `X-AstroWay-Site-URL`. Прив'язка тримається на цьому заголовку, тож ключ зберігайте як секрет, а якщо він витік, отримайте новий: попередній буде відкликано;
- набір безкоштовних читань, 300 викликів на годину на сайт, без кредитів; гороскопи з датою приймаються лише біля сьогоднішньої дати;
- один ключ на встановлення (хост і домашній шлях), до 5 встановлень на хост зі спільною годиною.

Помилки: `400 INVALID_SITE_URL`, `422 SITE_VERIFICATION_FAILED` з `details.reason`, `429 SITE_KEY_RATE_LIMIT` з `retry_after`.
