Authentication Logic
Guide to using Better Auth for client and server-side authentication.
$ 安裝
git clone https://github.com/AbdulSamad94/Hackhaton-SpecsKitPlus /tmp/Hackhaton-SpecsKitPlus && cp -r /tmp/Hackhaton-SpecsKitPlus/.claude/skills/auth ~/.claude/skills/Hackhaton-SpecsKitPlus// tip: Run this command in your terminal to install the skill
SKILL.md
name: Authentication Logic description: Guide to using Better Auth for client and server-side authentication.
Authentication Logic
Overview
We use Better Auth (better-auth) for identifying users.
Config
- Client:
lib/auth-client.tsexportsauthClient. - Server:
lib/auth.tsexportsauth.
Client-Side Usage
Use authClient for signing in, signing out, and checking session state in Client Components.
import { authClient } from "@/lib/auth-client";
// Sign In
await authClient.signIn.email({
email,
password,
});
// Social Sign In
await authClient.signIn.social({
provider: "google",
callbackURL: "/onboarding",
});
// Sign Out
await authClient.signOut();
Server-Side Usage
Use auth.api.getSession for protecting API routes or Server Actions.
import { auth } from "@/lib/auth";
import { headers } from "next/headers";
const session = await auth.api.getSession({
headers: await headers()
});
if (!session) {
return new Response("Unauthorized", { status: 401 });
}
AuthBar Component
- Located at
textbook/src/components/AuthBar/index.tsx. - Displays user avatar or login button.
- Fetches session from
/api/auth/session(Next.js API route proxying Better Auth).
Repository

AbdulSamad94
Author
AbdulSamad94/Hackhaton-SpecsKitPlus/.claude/skills/auth
1
Stars
0
Forks
Updated3d ago
Added1w ago