Chiave del sito per WordPress
Il plugin AstroWay per WordPress ottiene la chiave autonomamente, senza registrazione: il sito mostra una prova sul suo percorso REST, noi la verifichiamo e rilasciamo una chiave, legata a questo sito.
Come avviene la verifica
Sezione intitolata “Come avviene la verifica”- Il plugin genera un
proof_id(UUID v4) e unproof(32 byte casuali in base64url, 43 caratteri) e li mantiene per 10 minuti. - Il sito restituisce un
GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id>conContent-Type: application/jsone un corpo{"proof":"<proof>"}. - Il plugin invia un
POST /v1/site-keys:
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 characters>" }site_url è esattamente home_url(), senza ? e #. Per i permalink semplici, passa verify_url con ?rest_route=/astroway/v1/verify: è accettato solo sullo stesso sito e solo come questo percorso.
Cosa offre la chiave
Sezione intitolata “Cosa offre la chiave”- per il server del sito: una richiesta dal browser (con l’header
Origin) riceve 403, e ogni chiamata deve specificare il sito inX-AstroWay-Site-URL. Il legame si basa su questo header, quindi conserva la chiave come segreto, e se dovesse trapelare, ottienine una nuova: la precedente verrà revocata; - un set di letture gratuite, 300 chiamate all’ora per sito, senza crediti; gli oroscopi con data sono accettati solo in prossimità della data odierna;
- una chiave per installazione (host e percorso home), fino a 5 installazioni per host con un’ora condivisa.
Errori: 400 INVALID_SITE_URL, 422 SITE_VERIFICATION_FAILED con details.reason, 429 SITE_KEY_RATE_LIMIT con retry_after.
Connessione dell’account
Sezione intitolata “Connessione dell’account”Quando il proprietario del sito desidera lavorare con il proprio piano, il plugin trasferisce il sito alla chiave dell’account con un solo clic.
- Il plugin apre nel browser dell’amministratore
https://api.astroway.info/dashboard/connect?site=<home_url>&return=<admin_url>&state=<16-128 caratteri>&source=wp_plugin.returndeve essere sullo stesso host disitee su https. - L’amministratore effettua l’accesso o si registra e sceglie una chiave per il sito o ne crea una nuova. Una chiave già associata a un altro dominio viene trasferita solo dopo una conferma separata.
- Il browser ritorna a
returnconcodee lo stessostate. L’annullamento restituisceerror=access_denied. - Il server del sito scambia il codice, inviando la sua chiave del sito in
X-Api-Key:
POST /v1/site-keys/connect/exchange{ "code": "<43 characters>", "site_url": "https://example.com" }Risposta: { "key": "aw_live_…", "plan": "free", "domain": "example.com", "account": "j***@example.com" }. Il codice è valido per 5 minuti. Lo scambio ripetuto dello stesso codice con la stessa chiave del sito entro 10 minuti restituisce la stessa risposta. La chiave del sito cessa di essere valida 24 ore dopo lo scambio.
Errori: 400 INVALID_CODE, 410 CODE_EXPIRED, 403 SITE_MISMATCH.