AIKraft/Skills/Safe Action с Better Auth

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

next-safe-action official Другое

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

Настройка аутентификации и авторизации для safe actions в Next.js с использованием Better Auth. Обеспечивает типизированный контекст сессии, автоматическую обработку куки и прерывание запросов при отсутствии авторизации.

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

  • Добавление защиты серверных действий (server actions) проверкой сессии Better Auth.
  • Получение типизированных данных пользователя и сессии внутри контекста действия.
  • Настройка кастомных правил авторизации (например, проверка ролей или доступа к организации).
  • Обеспечение корректной работы куки-сессий в Server Actions через плагин nextCookies().

Как работает

  1. Установить пакеты @next-safe-action/adapter-better-auth и better-auth.
  2. Создать экземпляр Better Auth, добавив плагин nextCookies() последним в массиве плагинов.
  3. Включить флаг authInterrupts: true в experimental конфигурации next.config.ts.
  4. Импортировать betterAuth из адаптера и создать authClient, применив middleware betterAuth(auth) к createSafeActionClient.
  5. Использовать 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 и совместимые) подхватывает его по описанию и следует шагам.