Ключ сайту для WordPress
Плагін AstroWay для WordPress отримує ключ сам, без реєстрації: сайт показує доказ на своєму REST-маршруті, ми його перевіряємо й видаємо ключ, прив’язаний до цього сайту.
Як проходить перевірка
Section titled “Як проходить перевірка”- Плагін генерує
proof_id(UUID v4) іproof(32 випадкові байти в base64url, 43 символи) і тримає їх 10 хвилин. - Сайт віддає
GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id>зContent-Type: application/jsonі тілом{"proof":"<proof>"}. - Плагін надсилає
POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }site_url це рівно home_url(), без ? і #. Для простих постійних посилань передайте verify_url з ?rest_route=/astroway/v1/verify: він приймається лише на тому ж сайті й лише як цей маршрут.
Що дає ключ
Section titled “Що дає ключ”- для сервера сайту: запит із браузера (з заголовком
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.
Підключення акаунта
Section titled “Підключення акаунта”Коли власник сайту хоче працювати на своєму плані, плагін переводить сайт на ключ акаунта в один клік.
- Плагін відкриває в браузері адміністратора
https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 символів>&source=wp_plugin.returnмає бути на тому ж хості, що йsite, і на https. - Адміністратор входить або реєструється й обирає ключ для сайту або створює новий. Ключ, уже прив’язаний до іншого домену, переноситься лише після окремого підтвердження.
- Браузер повертається на
returnзcodeі тим самимstate. Скасування повертаєerror=access_denied. - Сервер сайту обмінює код, надіславши свій ключ сайту в
X-Api-Key:
POST /v1/site-keys/connect/exchange{ "code": "<43 characters>", "site_url": "https://example.com" }Відповідь: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. Код живе 5 хвилин. Повторний обмін того самого коду тим самим ключем сайту протягом 10 хвилин повертає ту саму відповідь. Ключ сайту перестає діяти через 24 години після обміну.
Помилки: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.