Staaarter

Passkey Sign In

Full-height passwordless sign-in screen: a fingerprint icon, a "continue with passkey" button, a divider, and a fallback link to use a password instead. Kept intentionally simple, with no scanning animation.

By Staaarter Team
Auth
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/passkey-sign-in.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/auth/auth21.tsx instead.

Usage

The file also exports auth21Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Auth21, auth21Demo } from "@/components/blocks/auth/auth21";

export default function Page() {
  return <Auth21 {...auth21Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Sign in with a passkey"Main heading.
descriptionstringundefinedSupporting message under the heading.
continueLabelstring"Continue with passkey"Label on the primary button.
passwordHrefstring"/sign-in/password"Destination for the "Use password instead" link.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • Entirely static/server-rendered, no client state or fake scanning animation, that behavior belongs to a different block (auth10).
  • "Continue with passkey" is a plain button with no handler wired up since invoking the real WebAuthn API is backend/browser-credential dependent.
  • "Use password instead" is a real next/link pointed at passwordHref via the Button `render` prop.