Verify Identity
Re-confirm the person behind an already-signed-in session before a sensitive action, without forcing a full sign-out.
Confirm it's you
Re-enter your password to change billing details.
AL
ada@acme.comExample result — your output may vary with your context and the prompt you pass.
# Verify Identity: Password Re-auth
## Context
Flexnative UI intent — a reference solution from the shadcn/ui registry (@flx). The intent frames the problem; the decision is one approach to it.
## Problem
Re-confirm the person behind an already-signed-in session before a sensitive action, without forcing a full sign-out.
## Decision
- Best for: The lightweight default for step-up. Re-prompt the current password before money moves, settings change, or data is exported. No new channel, no new hardware.
- Trade-off: Only as strong as the password itself, so it adds little for accounts already protected by one; useless for passwordless users.
## Registry Item
@flx/verify-identity-1
## Stack
- UI: shadcn/ui
- Styling: Tailwind CSS
- shadcn components: Button, Card, Input, Label
- npm: lucide-react
## Registry Source
https://ui.flexnative.com/r/verify-identity-1.json
## Preview
https://ui.flexnative.com/intents/verify-identity#1
## Reference Implementation
```tsx
import { ShieldAlert } from 'lucide-react'
import { Button } from '@/components/ui/button'
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
export function VerifyIdentity1() {
return (
<Card size="sm">
<CardHeader>
<div className="bg-primary/10 mb-1 flex size-10 items-center justify-center rounded-full">
<ShieldAlert className="text-primary size-5" />
</div>
<CardTitle>Confirm it's you</CardTitle>
<p className="text-muted-foreground text-xs">
Re-enter your password to change billing details.
</p>
</CardHeader>
<CardContent className="flex flex-col gap-4">
<div className="bg-muted/50 flex items-center gap-2 rounded-lg border p-2.5">
<div className="bg-primary/15 text-primary flex size-7 items-center justify-center rounded-full text-[11px] font-medium">
AL
</div>
<span className="text-muted-foreground text-xs">ada@acme.com</span>
</div>
<div className="flex flex-col gap-1.5">
<Label htmlFor="vi-reauth-password" className="text-xs">
Password
</Label>
<Input
id="vi-reauth-password"
type="password"
placeholder="••••••••"
autoComplete="current-password"
/>
</div>
<Button className="w-full">Confirm</Button>
<a
href="#"
className="text-muted-foreground hover:text-foreground text-center text-[11px]"
>
Forgot your password?
</a>
</CardContent>
</Card>
)
}
```Paste into your AI tool and adapt it to your context.
Other ways
Reach for these when the context shifts. Each is copyable too.
Verify to continue
We sent a 6-digit code to ada@acme.com.
2
4
8
Code expires in 4:58
OTP Challenge
Check your phone
We sent an approval request to iPhone 15 Pro. Tap Approve to continue.
Waiting for approval…
Push Approval
Verify with biometrics
Use Face ID, Touch ID, or your security key to authorize this action.
Phishing-resistant. Your key never leaves this device.
Biometric