How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill adding-authBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Add Authentication (Auth.js)
Use this skill when the user asks to add authentication, login, sign-up, OAuth, or session management.
Steps
- Install dependencies
npm install next-auth@beta- Generate an auth secret
npx auth secretThis adds AUTH_SECRET to .env.local.
- Create the auth config — create
auth.tsin the project root:
import NextAuth from "next-auth";
import GitHub from "next-auth/providers/github";
import Google from "next-auth/providers/google";
export const { handlers, signIn, signOut, auth } = NextAuth({
providers: [GitHub, Google],
});- Add the route handler — create
app/api/auth/[...nextauth]/route.ts:
import { handlers } from "@/auth";
export const { GET, POST } = handlers;- Add environment variables for each provider:
AUTH_SECRET=...
AUTH_GITHUB_ID=...
AUTH_GITHUB_SECRET=...
AUTH_GOOGLE_ID=...
AUTH_GOOGLE_SECRET=...- Add sign-in/sign-out UI — create components that call the
signInandsignOutserver actions, or use<Link href="/api/auth/signin">.
- Protect routes — use the
auth()function in server components or middleware:
import { auth } from "@/auth";
export default async function ProtectedPage() {
const session = await auth();
if (!session) redirect("/api/auth/signin");
return <div>Welcome {session.user?.name}</div>;
}- Add database adapter (optional) — if the user needs persistent sessions or user records, install a database adapter (e.g.
@auth/drizzle-adapter,@auth/prisma-adapter) and configure it in the auth config.
Notes
- Auth.js v5 works with Next.js App Router and Server Actions natively.
- For Pages Router, use
getServerSessioningetServerSidePropsanduseSessionon the client. - Add
NEXTAUTH_URLfor production deployments. - Store minimal user data in the session; fetch full profiles from the database when needed.




