Website-Schlüssel für WordPress
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.
Wie die Verifizierung abläuft
Abschnitt betitelt „Wie die Verifizierung abläuft“- Das Plugin generiert eine
proof_id(UUID v4) und einenproof(32 zufällige Bytes in base64url, 43 Zeichen) und hält diese 10 Minuten lang vor. - Die Website liefert
GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id>mitContent-Type: application/jsonund dem Body{"proof":"<proof>"}. - 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.
Was der Schlüssel bietet
Abschnitt betitelt „Was der Schlüssel bietet“- für den Server der Website: Anfragen vom Browser (mit dem
Origin-Header) erhalten 403, und jeder Aufruf muss die Website imX-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.
Konto verbinden
Abschnitt betitelt „Konto verbinden“Wenn der Website-Besitzer seinen eigenen Plan nutzen möchte, wechselt das Plugin die Website mit einem Klick auf den Kontoschlüssel.
- 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.returnmuss auf demselben Host wiesiteliegen und HTTPS verwenden. - 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.
- Der Browser kehrt zu
returnmitcodeund demselbenstatezurück. Eine Stornierung gibterror=access_deniedzurück. - 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.