Auth Form
Pro
Get started with us
Three steps to your workspace.
- 1Create your account
- 2Invite your team
- 3Connect your first project
Create your account
Enter your details to set up your account.
Have an account?
By continuing you agree to the terms and privacy policy.
Installation
npx shadcn add @useplanes/auth-form
Works once the @useplanes registry is set up in your project (one-time). After that, copy and run commands directly.
Unlock with Planes Pro
$129 once · 159 Pro components · lifetime updates.
import { AuthForm } from "@/components/ui/AuthForm";
<AuthForm
layout="split"
method="password"
brand={{ name: "Fernwood", logo: <YourLogo /> }}
onSignIn={async ({ email, password }) => {
await signIn("credentials", { email, password });
}}
onSignUp={async ({ name, email, password }) => {
await createAccount({ name, email, password });
}}
onForgot={(email) => requestReset(email)}
onProvider={(id) => signIn(id)}
/>Use cases
App sign-in page
Connect the callbacks to Auth.js, Better Auth, Clerk or Supabase and rate-limit on the server; the component makes no network calls of its own.
Passwordless onboarding
Set method="magic-link" or "otp" and the same card walks through the email, code and check-inbox steps.
Marketing site with a split panel
layout="split" puts a quote or product shot beside the form from lg up and collapses to the card on phones.