一键导入
adding-auth
Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.
Add PostHog analytics to a web application, including event tracking, page views, feature flags, and session replay.
Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.
Dockerize an application with a production-ready Dockerfile, docker-compose setup, and .dockerignore.
Set up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.
Add Sentry error tracking, performance monitoring, and source maps to a web application.
| name | adding-auth |
| description | Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes. |
Use this skill when the user asks to add authentication, login, sign-up, OAuth, or session management.
Install dependencies
npm install next-auth@beta
Generate an auth secret
npx auth secret
This adds AUTH_SECRET to .env.local.
Create the auth config — create auth.ts in 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 signIn and signOut server 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.
getServerSession in getServerSideProps and useSession on the client.NEXTAUTH_URL for production deployments.