Sari la conținut
AstroWay/api v2.248.0 · ro
toate sistemele sunt în stare normală

Cheie site pentru WordPress

Pluginul AstroWay pentru WordPress obține cheia singur, fără înregistrare: site-ul arată dovada pe ruta sa REST, noi o verificăm și emitem o cheie, legată de acest site.

  1. Pluginul generează un proof_id (UUID v4) și un proof (32 de octeți aleatori în base64url, 43 de caractere) și le păstrează timp de 10 minute.
  2. Site-ul returnează un GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id> cu Content-Type: application/json și corpul {"proof":"<proof>"}.
  3. Pluginul trimite un POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }

site_url este exact home_url(), fără ? și #. Pentru permalink-uri simple, transmite verify_url cu ?rest_route=/astroway/v1/verify: este acceptat doar pe același site și doar ca această rută.

  • pentru serverul site-ului: o cerere din browser (cu antetul Origin) primește 403, iar fiecare apel trebuie să numească site-ul în X-AstroWay-Site-URL. Legătura se menține pe acest antet, așa că păstrează cheia ca secret, iar dacă a fost compromisă, obține una nouă: cea anterioară va fi revocată;
  • un set de citiri gratuite, 300 de apeluri pe oră per site, fără credite; horoscoapele cu dată sunt acceptate doar în jurul datei curente;
  • o cheie per instalare (gazdă și cale de bază), până la 5 instalări per gazdă cu o oră comună.

Erori: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED cu details.reason, 429 SITE_KEY_RATE_LIMIT cu retry_after.

Când proprietarul site-ului dorește să lucreze pe planul său, pluginul transferă site-ul la cheia contului cu un singur clic.

  1. Pluginul deschide în browserul administratorului https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 caractere>&source=wp_plugin. return trebuie să fie pe aceeași gazdă ca și site, și pe https.
  2. Administratorul se autentifică sau se înregistrează și alege o cheie pentru site sau creează una nouă. O cheie, deja legată de un alt domeniu, este transferată doar după o confirmare separată.
  3. Browserul revine la return cu code și același state. Anularea returnează error=access_denied.
  4. Serverul site-ului schimbă codul, trimițând cheia sa de site în X-Api-Key:
POST /v1/site-keys/connect/exchange
{ "code": "<43 characters>", "site_url": "https://example.com" }

Răspuns: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. Codul este valid timp de 5 minute. O re-schimbare a aceluiași cod cu aceeași cheie de site în decurs de 10 minute returnează același răspuns. Cheia site-ului încetează să mai fie validă la 24 de ore după schimb.

Erori: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.

Util?
Sugerează o corectură

Ultima actualizare: