Accessible by default
Ready-made sign-in buttons, a navbar, user profile and dropdown, and a TOTP validator, all keyboard-navigable and screen-reader friendly out of the box.
- Keyboard navigable
- Screen-reader friendly
React
Drop in accessible, ready-made auth components for sign-in, user profile, dropdown, and TOTP, then restyle them to match your brand. Authdog handles the sessions so you ship UI, not boilerplate.
Drop-in components
// Account.tsx
import { UserProfile } from "@authdog/react-elements"
import "@authdog/react-elements/styles.css"
export function Account() {
return <UserProfile />
}
A navbar with a user menu
// Layout.tsx
import { Navbar, UserDropdown } from "@authdog/react-elements"
export function Layout() {
return (
<Navbar>
<UserDropdown />
</Navbar>
)
}
Components, not boilerplate
Accessible UI primitives and secure session handling that drop into any React 18+ app.
Ready-made sign-in buttons, a navbar, user profile and dropdown, and a TOTP validator, all keyboard-navigable and screen-reader friendly out of the box.
Components ship with sensible defaults and an exported Tailwind config, so you can theme them to match your product instead of fighting CSS.
ESM-first with sideEffects: false and dual CJS/ESM builds. Import only the components you use and ship nothing you don't.
Token validation, cookie handling, and the session lifecycle are managed for you, with no token plumbing in your component tree.
Written in TypeScript with first-class types shipped in the package. Autocomplete for props, sessions, and user data.
Works with Vite, CRA, or any React 18+ setup. No framework lock-in: just the components and hooks your app needs.
Add @authdog/react-elements and its stylesheet.
Render the sign-in, profile, and dropdown pieces you need.
Apply the exported Tailwind config to match your brand.
Install the components, add the stylesheet, and ship a polished sign-in flow today. Free to start, with secure defaults built in.