Przejdź do głównej zawartości
AstroWay/api v2.258.3 · pl
wszystkie systemy w normie

Klucz witryny dla WordPress

Wtyczka AstroWay dla WordPress pobiera klucz samodzielnie, bez rejestracji: strona pokazuje dowód na swoim REST‑trasie, weryfikujemy go i wydajemy klucz powiązany z tą stroną.

  1. Wtyczka generuje proof_id (UUID v4) i proof (32 losowe bajty w base64url, 43 znaki) i przechowuje je przez 10 minut.
  2. Strona zwraca GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id> z Content-Type: application/json i ciałem {"proof":"<proof>"}.
  3. Wtyczka wysyła POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }

site_url to dokładnie home_url(), bez ? i #. Dla prostych stałych linków przekaż verify_url z ?rest_route=/astroway/v1/verify: jest akceptowany tylko na tej samej stronie i tylko jako ta trasa.

  • dla serwera strony: żądanie z przeglądarki (z nagłówkiem Origin) otrzymuje 403, a każde wywołanie musi podawać stronę w X-AstroWay-Site-URL. Powiązanie trzyma się tego nagłówka, więc przechowuj klucz jako sekret, a jeśli wyciekł, uzyskaj nowy: poprzedni zostanie odwołany;
  • pakiet darmowych odczytów, 300 wywołań na godzinę na stronę, bez kredytów; horoskopy z datą są akceptowane tylko w okolicach bieżącej daty;
  • jeden klucz na instalację (host i ścieżka domowa), do 5 instalacji na host z wspólną godziną.

Błędy: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED z details.reason, 429 SITE_KEY_RATE_LIMIT z retry_after.

Kiedy właściciel strony chce korzystać ze swojego planu, wtyczka przenosi stronę na klucz konta jednym kliknięciem.

  1. Wtyczka otwiera w przeglądarce administratora https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 символів>&source=wp_plugin. return musi być na tym samym hoście co site i na https.
  2. Administrator loguje się lub rejestruje i wybiera klucz dla strony lub tworzy nowy. Klucz już powiązany z inną domeną jest przenoszony tylko po osobnym potwierdzeniu.
  3. Przeglądarka wraca do return z code i tym samym state. Anulowanie zwraca error=access_denied.
  4. Serwer strony wymienia kod, wysyłając swój klucz strony w X-Api-Key:
POST /v1/site-keys/connect/exchange
{ "code": "<43 characters>", "site_url": "https://example.com" }

Odpowiedź: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. Kod żyje 5 minut. Ponowna wymiana tego samego kodu tym samym kluczem strony w ciągu 10 minut zwraca tę samą odpowiedź. Klucz strony przestaje działać po 24 godzinach od wymiany.

Błędy: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.

Przydatne?
Zaproponuj edycję

Ostatnia aktualizacja: