К основному содержанию
скилл CX Codex

api-authentication · secondsky — скилл для Claude Code: JWT, OAuth 2.0, API-ключи

Скилл для ИИ-агента, который помогает писать аутентификацию в API: JWT, OAuth 2.0, API-ключи, сессии и защитные заголовки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add secondsky/claude-skills --skill api-authentication -a claude-code
Открыть на GitHub

Что делает api-authentication

Скилл добавляет агенту готовые шаблоны и правила для аутентификации в API. Внутри — таблица методов с областями применения, реализация JWT на Node.js с access- и refresh-токенами, middleware для проверки заголовка Authorization, набор требований безопасности и пример security-заголовков. Отдельный файл references/python-flask.md содержит вариант на Flask: JWT с ролевым доступом, интеграцию OAuth 2.0 через Authlib и аутентификацию по API-ключам с хешированием.

Скилл пригодится, когда агент пишет систему входа, подключает сторонний сервис или разбирается с ошибками в потоке аутентификации. Он же подскажет, как не наступить на типичные грабли: хранение паролей в открытом виде, слабые секреты JWT, игнорирование срока жизни токена, отключённый HTTPS в продакшене и логирование токенов.

Учтите: примеры на Node.js требуют пакет jsonwebtoken, а для Flask-варианта нужен Python с Authlib. Секреты скилл советует держать в переменных окружения — JWT_SECRET и REFRESH_SECRET в примере читаются именно оттуда, так что без них код не заработает.

Какие задачи решает

  • сгенерировать пару access- и refresh-токенов для входа
  • написать middleware, который проверяет заголовок Authorization
  • подключить вход через Google по OAuth 2.0
  • закрыть эндпоинты по ролям через декораторы
  • выставить security-заголовки вроде Strict-Transport-Security

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

  • Добавь в проект аутентификацию по JWT с access- и refresh-токенами
  • Проверь мой middleware для заголовка Authorization на ошибки
  • Настрой вход через Google по OAuth 2.0 на Flask

Как установить api-authentication

1Через Skills CLI (Vercel)

npx skills add secondsky/claude-skills --skill api-authentication -a claude-code

2Вручную: положить файлы

~/.claude/skills/api-authentication/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/api-authentication/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о api-authentication

Как установить api-authentication в Claude?

Выполните npx skills add secondsky/claude-skills --skill api-authentication -a claude-code. Скилл окажется в ~/.claude/skills/api-authentication/SKILL.md.

Что делает api-authentication?

Даёт агенту шаблоны и правила для аутентификации в API: JWT, OAuth 2.0, API-ключи, сессии, security-заголовки и список типичных ошибок.

Какие зависимости нужны для примеров?

Для кода на Node.js — пакет jsonwebtoken, для варианта на Flask — Python с Authlib. Секреты читаются из переменных окружения JWT_SECRET и REFRESH_SECRET.

Исходный текст

SKILL.md · MIT
---
name: api-authentication
description: Secure API authentication with JWT, OAuth 2.0, API keys. Use for authentication systems, third-party integrations, service-to-service communication, or encountering token management, security headers, auth flow errors.
license: MIT
---

# API Authentication

Implement secure authentication mechanisms for APIs using modern standards and best practices.

## Authentication Methods

| Method | Use Case | Security Level |
|--------|----------|----------------|
| JWT | Stateless auth, SPAs | High |
| OAuth 2.0 | Third-party integration | High |
| API Keys | Service-to-service | Medium |
| Session | Traditional web apps | High |

## JWT Implementation (Node.js)

```javascript
const jwt = require('jsonwebtoken');

const generateTokens = (user) => ({
  accessToken: jwt.sign(
    { userId: user.id, role: user.role },
    process.env.JWT_SECRET,
    { expiresIn: '15m' }
  ),
  refreshToken: jwt.sign(
    { userId: user.id, type: 'refresh' },
    process.env.REFRESH_SECRET,
    { expiresIn: '7d' }
  )
});

const authMiddleware = (req, res, next) => {
  const authHeader = req.headers.authorization;

  // Validate authorization header format
  if (!authHeader || !authHeader.startsWith('Bearer ')) {
    return res.status(401).json({ error: 'Malformed authorization header' });
  }

  const parts = authHeader.split(' ');
  if (parts.length !== 2) {
    return res.status(401).json({ error: 'Malformed authorization header' });
  }

  const token = parts[1];
  if (!token) {
    return res.status(401).json({ error: 'No token provided' });
  }

  try {
    req.user = jwt.verify(token, process.env.JWT_SECRET);
    next();
  } catch (err) {
    res.status(401).json({ error: 'Invalid token' });
  }
};
```

## Security Requirements

- Always use HTTPS
- Store tokens in HttpOnly cookies (not localStorage)
- Hash passwords with bcrypt (cost factor 12+)
- Implement rate limiting on auth endpoints
- Rotate secrets regularly
- Never transmit tokens in URLs

## Security Headers

```javascript
app.use((req, res, next) => {
  res.setHeader('X-Content-Type-Options', 'nosniff');
  res.setHeader('X-Frame-Options', 'DENY');
  res.setHeader('Strict-Transport-Security', 'max-age=31536000');
  next();
});
```

## Additional Implementations

See [references/python-flask.md](references/python-flask.md) for:
- Flask JWT with role-based access control decorators
- OAuth 2.0 Google integration with Authlib
- API key authentication with secure hashing

## Common Mistakes to Avoid

- Storing plain-text passwords
- Using weak JWT secrets
- Ignoring token expiration
- Disabling HTTPS in production
- Logging sensitive tokens

© secondsky · MIT · secondsky/claude-skills

Похожие скиллы

Всё по теме «Безопасность» →

Сначала — api-authentication от других авторов.

api-authentication aj-geddes Скилл по аутентификации API: JWT, OAuth 2.0, API-ключи и работа с сессиями. Пригодится, когда закрываешь эндпоинты или делаешь вход в приложение. CX Codex +1 607установок auth0-authentication Mindrally Скилл задаёт агенту правила работы с Auth0: потоки авторизации, Actions, проверка токенов и защита редиректов. CX Codex +1 700установок catalyst-authentication catalystbyzoho Помогает настроить вход, регистрацию и OAuth-подключения в Zoho Catalyst. Предупреждает о несовпадении ZAID между средами и ошибках локального запуска. CX Codex +1 999установок authentication-setup akillness Помогает выбрать способ аутентификации для веб-приложения или API и разложить её по границам: что берёт провайдер, что остаётся в приложении. CX Codex +1 368установок testing-api-authentication-weaknesses mahipal Скилл проверяет аутентификацию API на уязвимости обхода, ошибки в JWT и открытые эндпоинты. Помогает протестировать REST API перед релизом. CX Codex +1 484установок authentication codewithmukesh Скилл для ИИ-агента, который подсказывает, как правильно настроить аутентификацию и авторизацию в ASP.NET Core: JWT, OIDC, Identity, политики. CX Codex +1 2 800установок jwt-oauth-token-attacks yaklang Скилл для Claude и других ИИ-редакторов: разбор атак на токены JWT и потоки OAuth 2.0. Пригодится, когда нужно проверить, как приложение доверяет токенам и ключам. CX Codex +1 3 800установок

Из того же набора89

playwright Скилл для браузерной автоматизации и E2E-тестов на Playwright. Сам находит запущенный dev-сервер и пишет скрипты под вашу задачу. CX Codex +1 1 000установок api-testing Скилл учит агента писать тесты HTTP API: Supertest в TypeScript, httpx и pytest в Python. Пригодится, когда нужно закрыть REST, GraphQL и проверку ошибок. CX Codex +1 890установок rest-api-design Скилл задаёт агенту конвенции REST: имена ресурсов, HTTP-методы, коды ответов и формат JSON. Пригодится, когда проектируешь новый API или приводишь к общему виду уже существующий. CX Codex +1 586установок web-performance-optimization Скилл для оптимизации загрузки веб-приложений: разбивка бандла, ленивая загрузка, кэширование и мониторинг Core Web Vitals. CX Codex +1 557установок web-performance-audit Скилл для аудита скорости страниц: снимает метрики Core Web Vitals, ищет узкие места и подсказывает, что чинить. Пригодится, когда LCP или CLS вылезают за норму. CX Codex +1 526установок kpi-dashboard-design Скилл помогает выбрать метрики и собрать дашборд: подсказывает вёрстку, типы графиков и цвета статусов. Пригодится, когда делаешь аналитику для руководства. CX Codex +1 507установок bun-sveltekit Подсказывает агенту, как собирать и запускать SvelteKit на Bun: SSR, адаптер, bun:sqlite и работа с файлами. CX Codex +1 499установок progressive-web-app Скилл для сборки устанавливаемых веб-приложений: манифест, service worker, офлайн-режим и запрос на установку. CX Codex +1 500установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой