Get paid, and your guest post goes live on its own — no logging in, no remembering to hit publish. Most Cosmobill users don't need this plugin at all; it exists for the one case where the default connection gets blocked, usually by a firewall on Cloudflare-protected sites.
Suspect the secret leaked, or just want to cut the connection? Go to Settings → Cosmobill Connector → Get a new secret on your WP site, then paste the new value into Cosmobill (or leave it blank to stop auto-publish entirely). The old secret stops working the instant you rotate — no uninstall needed.
Every publish request sends the existing WordPress Application Password through HTTP Basic Auth, plus the HMAC signature and body:
POST /wp-admin/admin-ajax.php?action=cosmobill_publish
Authorization: Basic <base64(username:application-password)>
X-Cosmobill-Signature: sha256=<HMAC>
Content-Type: application/json
{"post_id": 12345}The endpoint runs on admin-ajax.php — not /wp-json/ — specifically because that's the same path the WordPress admin UI itself hits constantly, so it isn't on any WAF's REST-block list. WordPress core validates the Application Password and the plugin then checks the account's capabilities. The HMAC is SHA-256(secret, raw_request_body), hex-encoded, prefixed with sha256=. The plugin recomputes it on receipt and compares with hash_equals (constant-time), so requests must pass both authentication checks.
Security model:
random_bytes, hex-encoded, generated automatically on activation.Test the endpoint directly once it's configured:
curl -X POST 'https://yourblog.com/wp-admin/admin-ajax.php?action=cosmobill_publish' \\
-u 'wordpress-username:application-password' \\
-H 'Content-Type: application/json' \\
-H 'X-Cosmobill-Signature: sha256=<hex-hmac-of-body-using-secret>' \\
-d '{"post_id": 123}'Compute the HMAC locally with openssl dgst -sha256 -hmac "<secret>".