Zum Inhalt springen
AstroWay/api v2.325.2 · de
alle Systeme in Ordnung

Website-Schlüssel für WordPress

Last updated Als Markdown öffnen Agenten-Setup

Das AstroWay-Plugin für WordPress erhält den Schlüssel selbst, ohne Registrierung: Die Website zeigt einen Nachweis auf ihrer REST-Route, wir überprüfen ihn und stellen einen Schlüssel aus, der an diese Website gebunden ist.

  1. Das Plugin generiert eine proof_id (UUID v4) und einen proof (32 zufällige Bytes in base64url, 43 Zeichen) und hält diese 10 Minuten lang vor.
  2. Die Website liefert GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id> mit Content-Type: application/json und dem Body {"proof":"<proof>"}.
  3. Das Plugin sendet POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }

site_url ist genau home_url(), ohne ? und #. Für einfache Permalinks übergib verify_url mit ?rest_route=/astroway/v1/verify: dieser wird nur auf derselben Website und nur als diese Route akzeptiert.

  • für den Server der Website: Anfragen vom Browser (mit dem Origin-Header) erhalten 403, und jeder Aufruf muss die Website im X-AstroWay-Site-URL-Header nennen. Die Bindung basiert auf diesem Header, daher bewahre den Schlüssel als Geheimnis auf, und wenn er durchsickert, fordere einen neuen an: der vorherige wird widerrufen;
  • eine Reihe kostenloser Lesungen, 300 Aufrufe pro Stunde pro Website, ohne Credits; Horoskope mit Datum werden nur in der Nähe des heutigen Datums akzeptiert;
  • ein Schlüssel pro Installation (Host und Home-Pfad), bis zu 5 Installationen pro Host mit einer gemeinsamen Stunde.

Fehler: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED mit details.reason, 429 SITE_KEY_RATE_LIMIT mit retry_after.

Wenn der Website-Besitzer seinen eigenen Plan nutzen möchte, wechselt das Plugin die Website mit einem Klick auf den Kontoschlüssel.

  1. Das Plugin öffnet im Browser des Administrators https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 Zeichen>&source=wp_plugin. return muss auf demselben Host wie site liegen und HTTPS verwenden.
  2. Der Administrator meldet sich an oder registriert sich und wählt einen Schlüssel für die Website aus oder erstellt einen neuen. Ein Schlüssel, der bereits an eine andere Domain gebunden ist, wird nur nach einer separaten Bestätigung übertragen.
  3. Der Browser kehrt zu return mit code und demselben state zurück. Eine Stornierung gibt error=access_denied zurück.
  4. Der Server der Website tauscht den Code aus, indem er seinen Website-Schlüssel im X-Api-Key-Header sendet:
POST /v1/site-keys/connect/exchange
{ "code": "<43 characters>", "site_url": "https://example.com" }

Antwort: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. Der Code ist 5 Minuten gültig. Ein erneuter Austausch desselben Codes mit demselben Website-Schlüssel innerhalb von 10 Minuten gibt dieselbe Antwort zurück. Der Website-Schlüssel wird 24 Stunden nach dem Austausch ungültig.

Fehler: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.