Skills Agentes

Auth

Guía de integración de autenticación — Clerk (Marketplace nativo de Vercel), Descope y Auth0 para Next.js, con patrones de middleware y flujos de sign-in/sign-up.

Oficial

Reemplaza a: NextAuth v4 manual, Hashing manual de contraseñas con bcrypt/argon2, Manejo manual de JWT con jsonwebtoken

Estrellas
287

en todo el repo

Actividad
35

0–100, la ruta de este skill

Actualizado
hace 6 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
2.8k tok

64 tok en reposo

Paquete
1 archivo

11 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add vercel/vercel-plugin --skill auth --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests, reads environment config.

Qué hace

  • Guía la integración de autenticación en apps Next.js con Clerk, Descope o Auth0
  • Configura middleware, protección de rutas, y flujos de sign-in/sign-up
  • Detecta patrones de código antiguos (next-auth v4, bcrypt, JWT manual) y sugiere migraciones
  • Explica el aprovisionamiento de variables de entorno vía Vercel Marketplace
  • Documenta los cambios importantes de Clerk Core 3

Úsalo cuando

  • Al implementar autenticación de usuarios en una app Next.js
  • Al detectar middleware.ts, rutas app/sign-in o app/sign-up en el proyecto
  • Al instalar @clerk/nextjs, @descope/nextjs-sdk o @auth0/nextjs-auth0
  • Al migrar de next-auth v4 o de hashing manual de contraseñas

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • “Agrega login a mi app con Clerk”
    • “Protege esta ruta con autenticación”
    • “Configura Auth0 en mi proyecto Next.js”
    • “Migra mi middleware de authMiddleware a clerkMiddleware”

    SKILL.md

    En inglés

    Authentication Integrations

    You are an expert in authentication for Vercel-deployed applications — covering Clerk (native Vercel Marketplace integration), Descope, and Auth0.

    Clerk (Recommended — Native Marketplace Integration)

    Clerk is a native Vercel Marketplace integration with auto-provisioned environment variables and unified billing. Current SDK: @clerk/nextjs v7 (Core 3, March 2026).

    Install via Marketplace

    # Install Clerk from Vercel Marketplace (auto-provisions env vars)
    vercel integration add clerk
    

    Auto-provisioned environment variables:

    • CLERK_SECRET_KEY — server-side API key
    • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY — client-side publishable key

    SDK Setup

    # Install the Clerk Next.js SDK
    npm install @clerk/nextjs
    

    Middleware Configuration

    // middleware.ts
    import { clerkMiddleware } from "@clerk/nextjs/server";
    
    export default clerkMiddleware();
    
    export const config = {
      matcher: [
        // Skip Next.js internals and static files
        "/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|webp|png|gif|svg|ttf|woff2?|ico|csv|docx?|xlsx?|zip|webmanifest)).*)",
        // Always run for API routes
        "/(api|trpc)(.*)",
      ],
    };
    

    Protect Routes

    // middleware.ts — protect specific routes
    import { clerkMiddleware, createRouteMatcher } from "@clerk/nextjs/server";
    
    const isProtectedRoute = createRouteMatcher(["/dashboard(.*)", "/api(.*)"]);
    
    export default clerkMiddleware(async (auth, req) => {
      if (isProtectedRoute(req)) {
        await auth.protect();
      }
    });
    

    Frontend API Proxy (Core 3)

    Proxy Clerk's Frontend API through your own domain to avoid third-party requests:

    // middleware.ts
    export default clerkMiddleware({
      frontendApiProxy: { enabled: true },
    });
    

    Provider Setup

    // app/layout.tsx
    import { ClerkProvider } from "@clerk/nextjs";
    
    export default function RootLayout({
      children,
    }: {
      children: React.ReactNode;
    }) {
      return (
        <ClerkProvider>
          <html lang="en">
            <body>{children}</body>
          </html>
        </ClerkProvider>
      );
    }
    

    Sign-In and Sign-Up Pages

    // app/sign-in/[[...sign-in]]/page.tsx
    import { SignIn } from "@clerk/nextjs";
    
    export default function Page() {
      return <SignIn />;
    }
    
    // app/sign-up/[[...sign-up]]/page.tsx
    import { SignUp } from "@clerk/nextjs";
    
    export default function Page() {
      return <SignUp />;
    }
    

    Add routing env vars to .env.local:

    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
    

    Access User Data

    // Server component
    import { currentUser } from "@clerk/nextjs/server";
    
    export default async function Page() {
      const user = await currentUser();
      return <p>Hello, {user?.firstName}</p>;
    }
    
    // Client component
    "use client";
    import { useUser } from "@clerk/nextjs";
    
    export default function UserGreeting() {
      const { user, isLoaded } = useUser();
      if (!isLoaded) return null;
      return <p>Hello, {user?.firstName}</p>;
    }
    

    API Route Protection

    // app/api/protected/route.ts
    import { auth } from "@clerk/nextjs/server";
    
    export async function GET() {
      const { userId } = await auth();
      if (!userId) {
        return Response.json({ error: "Unauthorized" }, { status: 401 });
      }
      return Response.json({ userId });
    }
    

    Descope

    Descope is available on the Vercel Marketplace with native integration support.

    Install via Marketplace

    vercel integration add descope
    

    SDK Setup

    npm install @descope/nextjs-sdk
    

    Provider and Middleware

    // app/layout.tsx
    import { AuthProvider } from "@descope/nextjs-sdk";
    
    export default function RootLayout({
      children,
    }: {
      children: React.ReactNode;
    }) {
      return (
        <AuthProvider projectId={process.env.NEXT_PUBLIC_DESCOPE_PROJECT_ID!}>
          <html lang="en">
            <body>{children}</body>
          </html>
        </AuthProvider>
      );
    }
    
    // middleware.ts
    import { authMiddleware } from "@descope/nextjs-sdk/server";
    
    export default authMiddleware({
      projectId: process.env.DESCOPE_PROJECT_ID!,
      publicRoutes: ["/", "/sign-in"],
    });
    

    Sign-In Flow

    "use client";
    import { Descope } from "@descope/nextjs-sdk";
    
    export default function SignInPage() {
      return <Descope flowId="sign-up-or-in" />;
    }
    

    Auth0

    Auth0 provides a mature authentication platform with extensive identity provider support.

    SDK Setup

    npm install @auth0/nextjs-auth0
    

    Configuration

    // lib/auth0.ts
    import { Auth0Client } from "@auth0/nextjs-auth0/server";
    
    export const auth0 = new Auth0Client();
    

    Required environment variables:

    AUTH0_SECRET=<random-secret>
    AUTH0_BASE_URL=http://localhost:3000
    AUTH0_ISSUER_BASE_URL=https://your-tenant.auth0.com
    AUTH0_CLIENT_ID=<client-id>
    AUTH0_CLIENT_SECRET=<client-secret>
    

    Middleware

    // middleware.ts
    import { auth0 } from "@/lib/auth0";
    import { NextRequest, NextResponse } from "next/server";
    
    export async function middleware(request: NextRequest) {
      return await auth0.middleware(request);
    }
    
    export const config = {
      matcher: [
        "/((?!_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)",
      ],
    };
    

    Access Session Data

    // Server component
    import { auth0 } from "@/lib/auth0";
    
    export default async function Page() {
      const session = await auth0.getSession();
      return session ? (
        <p>Hello, {session.user.name}</p>
      ) : (
        <a href="/auth/login">Log in</a>
      );
    }
    

    Decision Matrix

    Need Recommended Why
    Fastest setup on Vercel Clerk Native Marketplace, auto-provisioned env vars
    Passwordless / social login flows Descope Visual flow builder, Marketplace native
    Enterprise SSO / SAML / multi-tenant Auth0 Deep enterprise identity support
    Pre-built UI components Clerk Drop-in <SignIn />, <UserButton />
    Vercel unified billing Clerk or Descope Both are native Marketplace integrations

    Clerk Core 3 Breaking Changes (March 2026)

    Clerk provides an upgrade CLI that scans your codebase and applies codemods: npx @clerk/upgrade. Requires Node.js 20.9.0+.

    • auth() is async — always use const { userId } = await auth(), not synchronous
    • auth.protect() moved — use await auth.protect() directly, not from the return value of auth()
    • clerkClient() is async — use await clerkClient() in middleware handlers
    • authMiddleware() removed — migrate to clerkMiddleware()
    • @clerk/types deprecated — import types from SDK subpath exports: import type { UserResource } from '@clerk/react/types' (works from any SDK package)
    • ClerkProvider no longer forces dynamic rendering — pass the dynamic prop if needed
    • Cache components — when using Next.js cache components, place <ClerkProvider> inside <body>, not wrapping <html>
    • Satellite domains — new satelliteAutoSync option skips handshake redirects when no session cookies exist
    • Smaller bundles — React is now shared across framework SDKs (~50KB gzipped savings)
    • Better offline handling — getToken() now correctly distinguishes signed-out from offline states

    Cross-References

    • Marketplace install and env var provisioning → ⤳ skill: marketplace
    • Middleware routing patterns → ⤳ skill: routing-middleware
    • Environment variable management → ⤳ skill: env-vars

    Official Documentation

    Reproducido de vercel/vercel-plugin bajo licencia NOASSERTION. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere una app Next.js y, según el proveedor, instalar @clerk/nextjs, @descope/nextjs-sdk o @auth0/nextjs-auth0 con sus variables de entorno.

    Necesita en el PATH:npm

    Variables de entorno:DESCOPE_PROJECT_IDNEXT_PUBLIC_DESCOPE_PROJECT_ID

    Detalles

    Creador
    vercel
    Licencia
    NOASSERTION
    Recursos incluidos
    Solo SKILL.md
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de vercel/vercel-plugin

    Este repo incluye 43 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack vercel-plugin entero y su comando de instalación

    Corrige el conocimiento desactualizado del LLM sobre la plataforma Vercel e introduce sus productos nuevos. Se inyecta al inicio de la sesión.

    Costo de contexto al activarse
    1.8k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialdevops infraestructura

    Guía experta de Vercel Connect: obtén tokens OAuth con permisos limitados para servicios de terceros (Slack, GitHub, servidores MCP, OAuth, Snowflake) en nombre de apps o usuarios vía Vercel OIDC.

    Costo de contexto al activarse
    4.8k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialdesarrollo apis

    Depura el caching de la CDN de Vercel: tasa de aciertos, contenido obsoleto, revalidación, ISR + PPR, cacheReason, ppr_state y costos.

    Costo de contexto al activarse
    5.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    Oficialdevops infraestructura

    Guía experta sobre Vercel Functions: Serverless Functions, Edge Functions, Fluid Compute, streaming, Cron Jobs y configuración de runtime para código server-side en Vercel.

    Costo de contexto al activarse
    5.6k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialdevops infraestructura

    Guía de arquitectura backend: úsala para planear, construir o migrar una API o backend, elegir entre Functions, Services, contenedores, Workflow, Queues y bases de datos de Marketplace, o seleccionar framework y runtime.

    Costo de contexto al activarse
    1.5k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    el mes pasado
    Oficialdesarrollo apis

    Eve

    287

    Guía de eve, el framework para agentes de IA duraderos: runtime basado en filesystem, sesiones, tools, skills, canales, sandboxes, subagentes, schedules, evals y observabilidad con Agent Runs.

    Costo de contexto al activarse
    1.5k tok
    Tamaño del paquete
    3 archivos
    Última actualización
    el mes pasado
    Oficialherramientas desarrollo

    Skills relacionados

    Guía experta sobre Vercel AI Gateway: úsala para configurar enrutamiento de modelos, failover entre proveedores, tracking de costes y gestión de múltiples proveedores de IA vía una API unificada.

    Costo de contexto al activarse
    5.9k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Oficialdesarrollo apis

    Guía experta sobre Vercel AI SDK para construir chats, generación de texto, salida estructurada, tool calling, agentes, integración MCP, streaming, embeddings, reranking o generación de imágenes.

    Costo de contexto al activarse
    5k tok
    Tamaño del paquete
    11 archivos
    Última actualización
    el mes pasado
    Oficialdesarrollo apis

    Guía experta de Vercel Chat SDK para crear bots multiplataforma (Slack, Telegram, Teams, Discord, Google Chat, GitHub, Linear) con un solo codebase, cubriendo Chat, adapters, threads, cards, modals y streaming.

    Costo de contexto al activarse
    3.3k tok
    Tamaño del paquete
    3 archivos
    Última actualización
    el mes pasado
    Oficialdesarrollo apis