Authentication logic
Skill ComeOnOliver/skillshub/skills/aiskillstore/marketplace/abdulsamad94/authentication-logic
🧠The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill authentication-logicAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Guide to using Better Auth for client and server-side authentication.
SKILL.md
1.2 KB, as published. Nobody here has run it
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).