Ga naar inhoud
AstroWay/api v2.325.2 · nl
alle systemen normaal

Site‑sleutel voor WordPress

Last updated Openen als Markdown Agentinstellingen

De AstroWay-plugin voor WordPress haalt de sleutel zelf op, zonder registratie: de site toont een bewijs op zijn REST‑route, wij verifiëren het en geven een sleutel uit die aan die site is gekoppeld.

  1. De plugin genereert proof_id (UUID v4) en proof (32 willekeurige bytes in base64url, 43 tekens) en bewaart ze 10 minuten.
  2. De site levert GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id> met Content-Type: application/json en een body {"proof":"<proof>"}.
  3. De plugin stuurt POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }

site_url is precies home_url(), zonder ? en #. Voor eenvoudige permanente links geef je verify_url mee met ?rest_route=/astroway/v1/verify: die wordt alleen op dezelfde site geaccepteerd en alleen als deze route.

  • voor de site‑server: een verzoek vanuit de browser (met header Origin) krijgt 403, en elke oproep moet de site vermelden in X-AstroWay-Site-URL. De koppeling wordt op deze header gehouden, dus bewaar de sleutel als geheim, en als deze lekt, vraag een nieuwe aan: de vorige wordt ingetrokken;
  • een set gratis reads, 300 oproepen per uur per site, zonder credits; horoscopen met datum worden alleen rond de huidige datum geaccepteerd;
  • één sleutel per installatie (host en home‑pad), tot 5 installaties per host met een gedeeld uur.

Fouten: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED met details.reason, 429 SITE_KEY_RATE_LIMIT met retry_after.

Wanneer de site‑eigenaar op zijn eigen plan wil werken, schakelt de plugin de site in één klik over naar een account‑sleutel.

  1. De plugin opent in de admin‑browser https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 символів>&source=wp_plugin. return moet op dezelfde host staan als site, en op https.
  2. De admin logt in of registreert zich en kiest een sleutel voor de site of maakt een nieuwe aan. Een sleutel die al aan een ander domein is gekoppeld, wordt alleen overgezet na een aparte bevestiging.
  3. De browser keert terug naar return met code en dezelfde state. Annuleren retourneert error=access_denied.
  4. De site‑server wisselt de code uit door zijn sitesleutel te sturen in X-Api-Key:
POST /v1/site-keys/connect/exchange
{ "code": "<43 characters>", "site_url": "https://example.com" }

Antwoord: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. De code leeft 5 minuten. Een heruitwisseling van dezelfde code met dezelfde sitesleutel binnen 10 minuten geeft dezelfde respons terug. De sitesleutel vervalt 24 uur na uitwisseling.

Fouten: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.