AIKraft/Skills/Аутентификация Clerk

Аутентификация Clerk

Guidelines for implementing Clerk authentication in Next.js applications with middleware, hooks, and security best practices

mindrally official Разработка

Что делает навык

Навык предоставляет экспертные рекомендации по интеграции Clerk в приложения Next.js, охватывая настройку провайдеров, конфигурацию middleware и реализацию аутентификации. Он обеспечивает защиту данных на всех уровнях: от маршрутов и серверных компонентов до серверных действий и API-маршрутов.

Когда применять

  • Настройка базовой и расширенной аутентификации в Next.js с использованием App Router и middleware.
  • Реализация защиты серверных действий (Server Actions) и API-маршрутов с проверкой прав доступа.
  • Интеграция пользовательского интерфейса с использованием хуков useUser и useAuth для клиентских компонентов.
  • Настройка ролевого доступа (RBAC) и поддержки организаций (Organizations) через Clerk.
  • Применение принципов defense-in-depth для предотвращения уязвимостей на стороне клиента и сервера.

Как работает

  1. Установить пакет @clerk/nextjs и настроить переменные окружения (NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, CLERK_SECRET_KEY).
  2. Обернуть приложение в ClerkProvider в app/layout.tsx, при необходимости настроив кастомное оформление.
  3. Создать middleware.ts для защиты маршрутов с помощью clerkMiddleware и createRouteMatcher, добавив логику проверки ролей при необходимости.
  4. Использовать функции auth() и currentUser() в серверных компонентах для проверки аутентификации и получения данных пользователя.
  5. Применять хуки useUser и useAuth в клиентских компонентах для управления состоянием входа и получения токенов.
  6. Внедрять индивидуальную проверку аутентификации в каждом серверном действии и API-маршруте, избегая reliance только на middleware.

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

Как настроить middleware для защиты маршрутов /dashboard и /api/protected с использованием Clerk?
Напиши серверное действие для создания поста, которое проверяет аутентификацию пользователя через auth() и сохраняет authorId.
Как правильно использовать хук useAuth для получения токена и отправки запроса на защищенный API-маршрут?

Что понадобится

  • Установленный пакет @clerk/nextjs
  • Переменные окружения NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY и CLERK_SECRET_KEY
  • Приложение на базе Next.js с App Router

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «clerk-authentication» из репозитория: # https://github.com/mindrally/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r clerk-authentication/ ~/.claude/skills/clerk-authentication/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.