@open-passkey/nextjs
v0.1.2
Published
Next.js App Router passkey/WebAuthn server handlers
Downloads
345
Maintainers
Readme
@open-passkey/nextjs
Next.js App Router passkey (WebAuthn/FIDO2) authentication handlers with post-quantum cryptography support.
Install
npm install @open-passkey/nextjsUsage
// lib/passkey.ts
import {
createPasskeyHandlers,
MemoryChallengeStore,
MemoryCredentialStore,
} from "@open-passkey/nextjs";
export const passkey = createPasskeyHandlers({
rpId: "example.com",
rpName: "My App",
origin: "https://example.com",
challengeStore: new MemoryChallengeStore(),
credentialStore: new MemoryCredentialStore(),
});// app/api/passkey/register/begin/route.ts
import { passkey } from "@/lib/passkey";
export const POST = passkey.registerBegin;// app/api/passkey/register/finish/route.ts
import { passkey } from "@/lib/passkey";
export const POST = passkey.registerFinish;// app/api/passkey/login/begin/route.ts
import { passkey } from "@/lib/passkey";
export const POST = passkey.loginBegin;// app/api/passkey/login/finish/route.ts
import { passkey } from "@/lib/passkey";
export const POST = passkey.loginFinish;// app/api/passkey/session/route.ts
import { passkey } from "@/lib/passkey";
export const GET = passkey.session;// app/api/passkey/logout/route.ts
import { passkey } from "@/lib/passkey";
export const POST = passkey.logout;With sessions
export const passkey = createPasskeyHandlers({
rpId: "example.com",
rpName: "My App",
origin: "https://example.com",
challengeStore: new MemoryChallengeStore(),
credentialStore: new MemoryCredentialStore(),
session: {
secret: "your-32+-character-hmac-secret-here",
duration: 86400000,
},
});Related Packages
| Package | Description | |---------|-------------| | @open-passkey/sdk | Browser SDK | | @open-passkey/react | React hooks | | @open-passkey/server | Framework-agnostic server logic |
License
MIT
