Passkey for Openclaw

A comprehensive implementation guide for integrating secure, phishing-resistant WebAuthn passkeys while avoiding common security and compatibility traps.

ivangdavila
v1.0.0
Feb 11, 2026
2
1.5k
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install passkey

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install passkey using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Passkey?

The Passkey skill is designed to help developers navigate the complexities of WebAuthn and FIDO2 implementation. By using Openclaw Skills, developers gain access to a structured approach for deploying passwordless authentication that is both secure and user-friendly. This skill focuses on preventing critical vulnerabilities like replay attacks and phishing by enforcing strict origin validation and unique challenge generation.

Beyond security, this skill addresses the practical challenges of the modern web ecosystem, including platform-specific synchronization behaviors across Apple, Google, and Windows. It provides clear guidance on using established cryptographic libraries rather than manual CBOR parsing, ensuring your authentication layer is built on a foundation of battle-tested code.

Passkey Use Cases

  • Deploying passwordless login flows to reduce friction and improve security.
  • Implementing phishing-resistant multi-factor authentication (MFA).
  • Adding biometric-backed authentication via TouchID, FaceID, or Windows Hello.
  • Creating cross-platform authentication experiences using synced passkeys from managers like Bitwarden or 1Password.

How Passkey Works

  1. The server generates a unique, short-lived challenge (60-120 seconds) and sends it to the client.
  2. The client application triggers the browser's WebAuthn API to request credential creation or assertion.
  3. The user provides biometric or PIN verification to their local authenticator.
  4. The authenticator signs the challenge and returns the cryptographic signature and credential data to the server.
  5. The server validates the origin, challenge, and signature, ensuring the sign count has incremented to detect potential clones.
  6. Upon successful verification, the server grants access or stores the new public key in COSE format.

Passkey Setup

To get started with this skill, integrate a battle-tested library into your backend environment:

# For JavaScript/TypeScript environments
npm install @simplewebauthn/server @simplewebauthn/browser

# For Python environments
pip install webauthn

# For Rust environments
cargo add webauthn-rs

Ensure your database schema is prepared to store binary data as base64-encoded strings for Credential IDs and public keys.

Passkey Data Schema & Taxonomy

Requirement Description Storage Format
Credential ID Unique identifier for the passkey Base64 String
Public Key The cryptographic key used for verification COSE Format
Sign Count Integer to track usage and detect cloning Unsigned Integer
Transports Hints for the browser (USB, BLE, NFC, internal) Array of Strings
User ID Persistent internal identifier for the user String/UUID

Passkey Advanced Features

  • Support for Conditional UI (mediation: 'conditional') to allow passkeys to appear in standard username autocomplete fields.
  • Resident key (discoverable credential) management for username-less login flows.
  • Cross-device authentication support utilizing QR codes and Bluetooth handshakes.
  • Automated testing integration using Virtual Authenticators via Chrome DevTools or CI pipelines.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*