Face ID Sign In

Full-height biometric sign-in with an animated face-scan viewfinder that runs through idle, scanning, and recognized states, plus a continue action and a password fallback. Perfect for Face ID and biometric authentication.

PRO

Auth10: Face ID Sign In

Full-height biometric sign-in screen built around an animated face-scan viewfinder: bracketed corners and a face icon cycle through idle, scanning, and recognized states when the scan button is clicked, ending in a continue action. A password fallback link sits below regardless of scan status.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/auth10?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/auth10?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/auth10.tsx and the button shadcn/ui primitive it's built on.

Quick start

The installed file exports auth10Demo alongside the block: the exact props behind the preview above. Spread it to get a working Face ID screen in one line.

tsx
import { Auth10, auth10Demo } from "@/components/beste/block/auth10";

export default function FaceIdPage() {
  return <Auth10 {...auth10Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Auth10 } from "@/components/beste/block/auth10";

export default function FaceIdPage() {
  return (
    <Auth10
      heading="Sign in with Face ID"
      description="Look at your device to verify it's you."
      labels={{
        scanPrompt: "Position your face in the frame",
        scanning: "Scanning…",
        success: "Face recognized",
        scanButton: "Scan my face",
      }}
      continueButton={{ label: "Continue", href: "/dashboard" }}
      fallbackLink={{ label: "Use password instead", href: "/sign-in" }}
    />
  );
}

Props

PropTypeDefaultDescription
headingstringScreen title
descriptionstringSubtext below the heading
labelsAuth10Labels{}Status copy and scan button label, see below
continueButton{ label: string; href: string }Shown only once scanning succeeds
fallbackLink{ label: string; href: string }Always-visible link below the frame
classNamestringExtra classes for the outer <section>
ts
type Auth10Labels = {
  scanPrompt?: string;
  scanning?: string;
  success?: string;
  scanButton?: string;
};

Behavior notes

More Auth blocks

View all Auth
PRO

auth21

Passkey Sign In

Full-height passwordless sign-in screen with a fingerprint icon, a continue-with-passkey button, and a password fallback below a divider. Perfect for WebAuthn and biometric authentication flows.

PRO

auth27

Sign-In Error

Full-height authentication error screen with a warning icon, an explanation, an optional error code, and try-again, back, and contact-support actions. Perfect for failed sign-in and OAuth callback errors.

PRO

auth46

Confirm It's You

Full-height step-up authentication screen that re-asks for the password before a sensitive action, showing the signed-in account and a cancel option. Perfect for protecting billing, security, and destructive actions.

PRO

auth14

Enterprise SSO Sign In

Full-height single sign-on screen with a work-email field, a continue-with-SSO button, and Google and Microsoft providers below a divider. Perfect for B2B and enterprise apps that authenticate via identity providers.

PRO

auth24

Complete Your Profile

Full-height profile setup step with an avatar uploader, a display name field, and a bio textarea, plus a skip option. Perfect for the post-sign-up onboarding step where users personalize their account.

PRO

auth17

Signed Out Confirmation

Full-height signed-out screen with a centered icon, a heading and message, a sign-back-in button, and a return-home link. Perfect for logout confirmations and expired-session pages.