A privacy-conscious recovery form whose visible message need not reveal account existence.
HTML + CSSindex.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Forgot Password</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<form class="dy-auth"><h2>Forgot your password?</h2><p>Enter your email. Your backend should show the same response whether or not an account exists.</p><label for="recovery-email">Email address</label><input id="recovery-email" type="email" autocomplete="email" required><button type="button">Send reset link</button><a href="#signin">Return to sign in</a></form>
</body>
</html>
A status screen explaining the next step without pretending an email was actually delivered.
HTML + CSSindex.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Magic Link Message</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="dy-auth"><h2>Check your email</h2><p class="dy-auth__success" role="status">Your application can show this state after its authentication service accepts a magic-link request.</p><p>Use the secure link from your provider to continue. Delivery and expiry behaviour belong to your backend.</p><a href="#signin">Return to sign in</a></section>
</body>
</html>
A provider-button layout with explicit labels and no fake OAuth implementation.
HTML + CSSindex.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Social Login Layout</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="dy-auth"><h2>Continue to your account</h2><p>These buttons are presentation only. Configure OAuth and callback security with your provider.</p><div class="dy-auth__social"><button class="dy-auth__secondary" type="button">Continue with Google</button><button class="dy-auth__secondary" type="button">Continue with GitHub</button></div><p>or use your email address</p><a class="dy-auth__button" href="#email">Continue with email</a></section>
</body>
</html>
A confirmation state with visible status semantics and a clear onward action.
HTML + CSSindex.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Account Created State</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="dy-auth"><h2>Account created</h2><p class="dy-auth__success" role="status">The example account setup is complete.</p><p>In a real application, show this only after trusted server confirmation.</p><a class="dy-auth__button" href="#continue">Continue</a></section>
</body>
</html>
A concise authentication error that avoids exposing raw provider or server details.
HTML + CSSindex.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Authentication Error State</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="dy-auth"><h2>We could not sign you in</h2><p class="dy-auth__error" role="alert">Check your details and try again. If the problem continues, request a new recovery link.</p><div><a class="dy-auth__button" href="#retry">Try again</a></div><a href="#forgot">Forgot password?</a></section>
</body>
</html>
Implementation
Portable UI, with clear boundaries.
These are frontend presentation patterns only. They do not implement authentication, sessions, OAuth, password storage, rate limiting or recovery-token validation. Connect them to a trusted backend and provider.
How to use
Choose the format used by your project.
Preview and copy one pattern, or download a focused ZIP.
Replace the example content and connect controls to real application behaviour.
Test keyboard access, contrast, validation and responsive behaviour in your final context.
FAQ
Authentication UI Pack questions
What formats does the Authentication UI Pack include?
The pack provides 6 focused frontend formats. Choose one format before copying or downloading so the archive stays small.
Do these patterns require third-party packages?
No runtime package is required. Tailwind-labelled downloads expect Tailwind CSS to already be configured in the receiving project.
Can I download one pattern?
Yes. Each pattern has its own ZIP, and the page also creates a complete pack ZIP for the selected format.