# encore-auth

Настраивает аутентификацию в Encore.ts, защищает эндпоинты через authHandler и Gateway, а также передаёт данные пользователя между сервисами.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 821 установка · ★ 30
- Автор: encoredev
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/encoredev/skills/tree/HEAD/encore/auth/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/encore-auth

## Что делает

Скилл учит агента внедрять проверку подлинности в бекенд на Encore.ts. Он генерирует типизированный `authHandler<AuthParams, AuthData>`, регистрирует его внутри `Gateway` и закрывает маршруты флагом `auth: true`. Для извлечения профиля вызывающего пользователя внутри логики используется функция `getAuthData()` из `~encore/auth`.

Внутрь заложены паттерны верификации JWT с помощью библиотеки `jose`, проверка API-ключей через SQL-запросы к базе и чтение сессий из cookie. Ошибки авторизации возвращают статус 401. При вызове соседних сервисов через `~encore/clients` контекст `AuthData` пробрасывается автоматически.

Без привязки `authHandler` к `Gateway` механизм авторизации работать не будет. Для юнит-тестов в Vitest скилл показывает, как перехватывать вызовы `getAuthData` через `vi.spyOn` или передавать явный `authData` в клиенты сервисов.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill encore-auth -a claude-code
```
```bash
npx skills add encoredev/skills --skill auth -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/auth/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/auth/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill auth -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/auth/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill auth -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/auth/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install encoredev/skills auth
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/auth/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill auth -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/encoredev/skills --path encore/auth
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/auth/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill auth -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/encoredev/skills/tree/HEAD/encore/auth/SKILL.md

## Когда брать
- ограничить доступ к эндпоинтам Encore.ts через флаг `auth: true`
- настроить валидацию JWT-токенов или API-ключей в `authHandler`
- получать данные авторизованного пользователя через `getAuthData`
- передавать контекст сессии между внутренними микросервисами
- изолировать проверку прав в тестах с Vitest

## Примеры запросов агенту
- Сделай этот эндпоинт доступным только авторизованным пользователям через auth: true
- Настрой authHandler для валидации Bearer JWT с проверкой через jose
- Напиши тест на Vitest для защищённого эндпоинта с подменой getAuthData

## Похожие
- [auth-security-reviewer](https://affpapa.org/nevibecode/skills/auth-security-reviewer.md) — скилл · 340 установок
- [create-auth](https://affpapa.org/nevibecode/skills/create-auth.md) — скилл · 13400 установок
- [better-auth](https://affpapa.org/nevibecode/skills/secondsky-better-auth.md) — скилл · 488 установок
- [safe-action-better-auth](https://affpapa.org/nevibecode/skills/safe-action-better-auth.md) — скилл · 477 установок
- [better-auth-authentication](https://affpapa.org/nevibecode/skills/better-auth-authentication.md) — скилл · 389 установок
- [better-auth-core](https://affpapa.org/nevibecode/skills/better-auth-core.md) — скилл · 358 установок

Из того же набора: [encoredev/skills](https://affpapa.org/nevibecode/by/encoredev/skills.md) — 25 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
