Web Authentication Usage
Using Authentication in the Web App
The web application consumes the authClient provided by @repo/auth.
Getting the session
import { useSession } from "@repo/auth";
export default function Dashboard() {
  const { data: session } = useSession();
  return <div>Hello {session?.user.name}</div>;
}Signing in and out
import { authClient } from "@repo/auth";
await authClient.signIn({ email, password });
authClient.signOut();Protecting routes
Use useSession to check authentication and redirect if needed.
import { useSession } from "@repo/auth";
import { useNavigate } from "react-router-dom";
export function ProtectedRoute({ children }: { children: JSX.Element }) {
  const { data: session, isLoading } = useSession();
  const navigate = useNavigate();
  useEffect(() => {
    if (!isLoading && !session) navigate("/login");
  }, [isLoading, session, navigate]);
  if (isLoading) return <div>Loading...</div>;
  return children;
}Other flows
authClient also offers helpers for password reset and email verification:
await authClient.requestPasswordReset({ email });
await authClient.verifyEmail({ token });See Authentication for more information.