Аутентификация Clerk
Guidelines for implementing Clerk authentication in Next.js applications with middleware, hooks, and security best practices
AImindrally
official
Разработка
Что делает навык
Навык предоставляет экспертные рекомендации по интеграции Clerk в приложения Next.js, охватывая настройку провайдеров, конфигурацию middleware и реализацию аутентификации. Он обеспечивает защиту данных на всех уровнях: от маршрутов и серверных компонентов до серверных действий и API-маршрутов.
Когда применять
- Настройка базовой и расширенной аутентификации в Next.js с использованием App Router и middleware.
- Реализация защиты серверных действий (Server Actions) и API-маршрутов с проверкой прав доступа.
- Интеграция пользовательского интерфейса с использованием хуков useUser и useAuth для клиентских компонентов.
- Настройка ролевого доступа (RBAC) и поддержки организаций (Organizations) через Clerk.
- Применение принципов defense-in-depth для предотвращения уязвимостей на стороне клиента и сервера.
Как работает
- Установить пакет @clerk/nextjs и настроить переменные окружения (NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, CLERK_SECRET_KEY).
- Обернуть приложение в ClerkProvider в app/layout.tsx, при необходимости настроив кастомное оформление.
- Создать middleware.ts для защиты маршрутов с помощью clerkMiddleware и createRouteMatcher, добавив логику проверки ролей при необходимости.
- Использовать функции auth() и currentUser() в серверных компонентах для проверки аутентификации и получения данных пользователя.
- Применять хуки useUser и useAuth в клиентских компонентах для управления состоянием входа и получения токенов.
- Внедрять индивидуальную проверку аутентификации в каждом серверном действии и 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 и совместимые) подхватывает его по описанию и следует шагам.