OCMAP Pairing Auth
by @maverick-software
Implement one-time pairing-code authentication between an OpenClaw gateway and a desktop or remote client such as OCMAP. Use when adding or updating pairing....
clawhub install ocmap-pairing-authπ About This Skill
name: ocmap-pairing-auth description: Implement one-time pairing-code authentication between an OpenClaw gateway and a desktop or remote client such as OCMAP. Use when adding or updating pairing.createCode / pairing.exchangeCode / pairing.revokeDevice, short-lived bootstrap auth for connect-first handshakes, trusted-device persistence, the OpenClaw Control UI Clawpodz tab, client-side signed device proof, or recovery/revocation flows for persistent trusted device enrollment.
OCMAP Pairing Auth
Implement the feature as a thin pairing-code layer on top of OpenClaw's existing signed device identity and trusted-device token flow. Do not invent a second long-lived auth system.
Workflow
1. Read references/protocol.md first.
2. If working on OpenClaw gateway or Control UI, read references/server-openclaw.md.
3. If working on OCMAP or another desktop client, read references/client-ocmap.md.
4. Keep server and client aligned on the exact request/response contract before wiring UI.
Required design
pairing.createCode.connect.auth
- complete handshake normally
- only then call pairing.exchangeCode
deviceId
- publicKey
- signature
- signedAt
- nonce
Non-negotiable rules
OpenClaw implementation checklist
pairing.createCode
- pairing.exchangeCode
- pairing.revokeDevice
code, nonce, and short-lived bootstrap auth from pairing.createCode.PAIRING_DISABLED
- CODE_INVALID
- CODE_EXPIRED
- CODE_ALREADY_USED
- DEVICE_REVOKEDClient implementation checklist
connect.auth so the client can satisfy the connect-first handshake.code + deviceId alone is insufficient.UNPAIRED, PAIRING_IN_PROGRESS, PAIRED_CONNECTED, PAIRED_DISCONNECTED, and REVOKED.Validation
Run this matrix before calling the feature done:
CODE_ALREADY_USED.CODE_EXPIRED.CODE_INVALID.References
references/server-openclaw.mdreferences/client-ocmap.mdreferences/protocol.mdπ Constraints
Run this matrix before calling the feature done:
CODE_ALREADY_USED.CODE_EXPIRED.CODE_INVALID.