# WordPress के लिए साइट कुंजी

## सत्यापन प्रक्रिया कैसे काम करती है

1. प्लगइन `proof_id` (UUID v4) और `proof` (32 यादृच्छिक बाइट्स base64url में, 43 वर्ण) उत्पन्न करता है और उन्हें 10 मिनट तक रखता है।
2. साइट `GET <home_url>/wp-json/astroway/v1/verify?nonce=<proof_id>` भेजती है जिसमें `Content-Type: application/json` और बॉडी `{"proof":"<proof>"}` होती है।
3. प्लगइन `POST /v1/site-keys` भेजता है:

```json
{ "site_url": "https://example.com", "proof_id": "3f1c2a9e-8b7d-4c1e-9f3a-2b6d5e4c1a07", "proof": "<43 символи>" }
```

`site_url` बिल्कुल `home_url()` के बराबर होता है, `?` और `#` के बिना। सरल स्थायी लिंक के लिए, `verify_url` के साथ `?rest_route=/astroway/v1/verify` पास करें: यह केवल उसी साइट पर और केवल इस रूट के रूप में स्वीकार किया जाता है।

## कुंजी क्या देती है

- साइट सर्वर के लिए: ब्राउज़र से अनुरोध (जिसमें `Origin` हेडर होता है) को 403 मिलता है, और प्रत्येक कॉल में साइट का उल्लेख `X-AstroWay-Site-URL` में करना होता है। बंधन इस हेडर पर निर्भर करता है, इसलिए कुंजी को रहस्य के रूप में सुरक्षित रखें, और यदि यह लीक हो जाए, तो नई प्राप्त करें: पिछली रद्द कर दी जाएगी;
- मुफ्त पठन का सेट, प्रति साइट प्रति घंटे 300 कॉल, क्रेडिट के बिना; तारीख के साथ राशिफल केवल आज की तारीख के आसपास स्वीकार किए जाते हैं;
- प्रति इंस्टॉलेशन एक कुंजी (होस्ट और होम पथ), तक 5 इंस्टॉलेशन प्रति होस्ट साझा घंटे के साथ।

त्रुटियां: `400 INVALID_SITE_URL`, `422 SITE_VERIFICATION_FAILED` के साथ `details.reason`, `429 SITE_KEY_RATE_LIMIT` के साथ `retry_after`।
