К основному содержанию
скилл CX Codex

convex-auth — скилл для Claude Code: вход и установка

Скилл добавляет в Convex-приложение вход через passkeys, OAuth или пароль. Он пригодится, когда нужно связать серверную конфигурацию с формой входа и защитой маршрутов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add convex/agent-skills --skill convex-auth -a claude-code
Открыть на GitHub

Что делает convex-auth

Скилл устанавливает @convex-dev/auth, добавляет провайдер в convex/auth.ts, настраивает convex.config.ts и создаёт auth.config.ts. По умолчанию используется вход через passkeys; OAuth или пароль выбираются по запросу. На клиенте он подключает ConvexAuthProvider, компонент входа и защиту маршрутов.

Для ключей скилл генерирует пару RS256 через jose, формирует JWT_PRIVATE_KEY и JWKS, а затем задаёт их вместе с SITE_URL в окружении развёртывания. При pnpm пакет jose нужно добавить отдельно. Интерактивный мастер npx @convex-dev/auth запускать не стоит: в безголовом или анонимном режиме он зависает. Если используются примитивы shadcn/ui, их нужно добавить до импорта. После настройки проверяется полный цикл входа.

Какие задачи решает

  • добавить вход через passkeys в Convex-приложение
  • подключить OAuth или пароль по запросу
  • связать auth.config.ts с серверной конфигурацией
  • сгенерировать JWT_PRIVATE_KEY и JWKS без интерактивного мастера
  • защитить маршруты и подключить форму входа

Примеры запросов агенту

  • Добавь в текущее Convex-приложение вход через passkeys и проверь полный цикл авторизации.
  • Настрой OAuth через Google в convex/auth.ts, обнови auth.config.ts и подключи защиту маршрутов.
  • Подключи ConvexAuthProvider, создай форму входа и сгенерируй ключи через jose без интерактивного мастера.

Как установить convex-auth

1Через Skills CLI (Vercel)

npx skills add convex/agent-skills --skill convex-auth -a claude-code

2Вручную: положить файлы

~/.claude/skills/convex-auth/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/convex-auth/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о convex-auth

Как установить convex-auth в Claude Code?

Выполните npx skills add convex/agent-skills --skill convex-auth -a claude-code, затем повторите npx skills add convex/agent-skills --skill convex-auth -a claude-code. Файл скилла находится по пути ~/.claude/skills/convex-auth/SKILL.md.

Что делает convex-auth?

Скилл добавляет в текущее Convex-приложение провайдер авторизации, серверную и клиентскую настройку, форму входа и защиту маршрутов. По умолчанию он настраивает passkeys.

Почему нужно отдельно настроить auth.config.ts и ключи?

Ошибочная или отсутствующая конфигурация auth.config.ts приводит к тому, что приложение всегда считает пользователя вышедшим. Ключи JWT_PRIVATE_KEY и JWKS скилл предлагает генерировать через jose, а значения задавать в окружении развёртывания вместе с SITE_URL.

Исходный текст

SKILL.md · Apache-2.0
---
name: convex-auth
description: "Add authentication (passkeys/OAuth) to the current Convex app, including the auth.config.ts wiring."
---

<!-- GENERATED from convex-agents content/capabilities/auth.json — do not edit by hand. -->

# Add sign-in to the app

Install and wire @convex-dev/auth for the current app: a provider (passkeys by default, or OAuth/password), the server config, the client hooks, and a sign-in UI — correctly, including the auth.config.ts that's the #1 real-world auth footgun.

## Workflow

1. Install @convex-dev/auth (pinned build) and add it to convex.config.ts. With pnpm, also `pnpm add jose` (it won't hoist otherwise); you need it for step 3.
2. Add the provider in convex/auth.ts (Passkey by default; Password or OAuth like Google on request).
3. Generate the auth keys HEADLESSLY. Do NOT run the interactive `npx @convex-dev/auth` wizard: it needs a login/TTY and hangs in non-interactive, anonymous, or CI runs (the #1 auth time-sink). Generate JWT_PRIVATE_KEY + JWKS deterministically with `jose`:
   node -e 'import("jose").then(async({generateKeyPair,exportPKCS8,exportJWK})=>{const k=await generateKeyPair("RS256",{extractable:true});const priv=await exportPKCS8(k.privateKey);const pub=await exportJWK(k.publicKey);process.stdout.write(JSON.stringify({JWT_PRIVATE_KEY:priv.trimEnd().replace(/\n/g," "),JWKS:JSON.stringify({keys:[{use:"sig",...pub}]})}))})' > .auth-keys.json
   Then set JWT_PRIVATE_KEY and JWKS (from .auth-keys.json) plus SITE_URL on the deployment. Prefer the Convex MCP `envSet` tool, one call per var, to avoid shell-quoting the multi-line key. CLI fallback: use the NAME=VALUE form (`npx convex env set "JWT_PRIVATE_KEY=$JWT"`), NEVER `env set JWT_PRIVATE_KEY "$JWT"` (the value starts with `-----BEGIN` and the CLI parses the leading `-` as an unknown flag). SITE_URL is the dev URL (e.g. http://localhost:3000). Delete .auth-keys.json after.
4. Write convex/auth.config.ts (the silently-always-signed-out bug lives here if it's wrong).
5. Wire the client: ConvexAuthProvider, the sign-in component, and route guards. If you import shadcn/ui primitives (button, input, textarea, label, and so on), add them first with `npx shadcn@latest add <name>`; a missing @/components/ui/* is a hard build error.
6. Verify a sign-in round-trips before declaring done.

## Rules

- Generate JWT_PRIVATE_KEY/JWKS with `jose` (extractable RS256; PKCS8 newlines to spaces; JWKS = {keys:[{use:"sig", ...publicJwk}]}). Do NOT run the interactive `npx @convex-dev/auth` wizard: it hangs headless/anonymous. Set the vars via the MCP `envSet` tool or the NAME=VALUE CLI form.
- Always write auth.config.ts: a missing/incorrect one makes the app silently always-signed-out with no error.
- Passkeys by default; only switch to password/OAuth on explicit request.
- Install any shadcn/ui primitive you import up front (`npx shadcn@latest add ...`); a missing @/components/ui/* is a hard build failure.
- Verify a real sign-in works before finishing.

© convex · Apache-2.0 · convex/agent-skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
better-auth-best-practices better-auth Скилл помогает настроить Better Auth в TypeScript-проекте: сервер, клиент, базу данных, сессии и плагины. Пригодится для email/password и OAuth. CX Codex +1 126 700установок better-auth-security-best-practices better-auth Настраивает защиту Better Auth: ограничивает частоту запросов, проверяет происхождение, шифрует токены и защищает пользовательские сессии. CX Codex +1 48 000установок neon-auth neondatabase Настраивает Managed Better Auth в ветках базы данных Neon. Скилл помогает внедрить вход по почте или OAuth и перенести пользователей с Supabase Auth. CX Codex +1 20 300установок auth-implementation-patterns Seth Hobson Скилл для проектирования аутентификации и авторизации: JWT, OAuth2, сессии, роли. Пригодится, когда пишете вход в систему или чините дыру в доступе. CX Codex 19 388установок google-cloud-recipe-auth официальный Google LLC Скилл объясняет аутентификацию и права доступа в Google Cloud. Пригодится для настройки IAM, ADC и сервисных аккаунтов в разработке и продакшене. CX Codex 15 450установок api-auth-key-management Samuel Berthe Скилл помогает спроектировать систему API-ключей для внешних клиентов сервиса. Пригодится при настройке ротации без простоя и разграничении сервисных доступов. CX Codex +1 7 800установок

Из того же набора32

convex Скилл-маршрутизатор для работы с бэкендом Convex: отправляет задачу нужному навыку из набора convex-* и подтягивает свежие инструкции из серверного каталога. CX Codex +1 108 000установок convex-expert Скилл для работы с кодом в каталоге convex/: функции, схемы, индексы, валидаторы. Пригодится, когда агент пишет бэкенд на Convex. CX Codex +1 36 200установок convex-migrate Скилл проводит миграцию схемы и бэкфилл данных в развёрнутом приложении Convex через @convex-dev/migrations. Пригодится, когда меняешь схему на живом приложении. CX Codex +1 36 100установок convex-authz Находит и устраняет четыре типа дефектов авторизации в бэкенде Convex. Защищает функции от подмены пользователей, утечек данных и записи в чужие контейнеры. CX Codex +1 36 100установок convex-optimize Скилл проводит аудит существующего приложения на Convex и предлагает план правок: безопасность, масштаб, обновления компонентов, наблюдаемость. CX Codex +1 36 000установок convex-deploy-guard Скилл проверяет и вслух объявляет целевой деплой Convex перед выполнением команд. Требует прямого согласия для продакшена и блокирует случайные мутации. CX Codex +1 36 000установок convex-design Скилл помогает проектировать бэкенды на Convex: схему, функции, авторизацию, файлы и LLM-сценарии. Пригодится для новых и существующих Convex-проектов. CX Codex +1 36 000установок convex-reviewer Прогоняет функции в каталоге convex/ по чек-листу: авторизация, валидаторы, индексы, реактивность. Пригодится перед выкаткой бэкенда. CX Codex +1 36 100установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой