Safe Action с Better Auth
Use when adding authentication or authorization to safe actions with Better Auth -- covers betterAuth() middleware setup, typed session context (BetterAuthContext), custom authorize callbacks (AuthorizeFn), unauthorized() handling, nextCookies() configuration, and Next.js authInterrupts setup
AInext-safe-action
official
Другое
Что делает навык
Настройка аутентификации и авторизации для safe actions в Next.js с использованием Better Auth. Обеспечивает типизированный контекст сессии, автоматическую обработку куки и прерывание запросов при отсутствии авторизации.
Когда применять
- Добавление защиты серверных действий (server actions) проверкой сессии Better Auth.
- Получение типизированных данных пользователя и сессии внутри контекста действия.
- Настройка кастомных правил авторизации (например, проверка ролей или доступа к организации).
- Обеспечение корректной работы куки-сессий в Server Actions через плагин nextCookies().
Как работает
- Установить пакеты @next-safe-action/adapter-better-auth и better-auth.
- Создать экземпляр Better Auth, добавив плагин nextCookies() последним в массиве плагинов.
- Включить флаг authInterrupts: true в experimental конфигурации next.config.ts.
- Импортировать betterAuth из адаптера и создать authClient, применив middleware betterAuth(auth) к createSafeActionClient.
- Использовать authClient в серверных действиях, где контекст ctx.auth содержит типизированные user и session.
Примеры запросов агенту
Настрой авторизацию для safe actions через Better Auth, чтобы ctx.auth.user был типизирован.
Добавь middleware betterAuth() в клиент действий и включи authInterrupts в next.config.
Исправь антипаттерн: замени ручное получение сессии на использование betterAuth() адаптера.
Что понадобится
- Установленные пакеты @next-safe-action/adapter-better-auth и better-auth
- Next.js с поддержкой Server Actions
- Конфигурация next.config.ts с experimental.authInterrupts = true
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «safe-action-better-auth» из репозитория:
# https://github.com/next-safe-action/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r safe-action-better-auth/ ~/.claude/skills/safe-action-better-auth/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.