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

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

Скилл по аутентификации API: JWT, OAuth 2.0, API-ключи и работа с сессиями. Пригодится, когда закрываешь эндпоинты или делаешь вход в приложение.

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

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

Скилл подсказывает агенту, как собрать аутентификацию в API. Внутри четыре справочника в каталоге references/: JWT, OAuth 2.0, API-ключи и реализация на Python. Плюс короткий пример на Node.js с express, jsonwebtoken и bcrypt — эндпоинт входа, поиск пользователя и проверка пароля.

Отдельный блок с практиками. В «DO» — HTTPS для всей аутентификации, токены в HttpOnly cookies, механизм обновления токена, разумные сроки жизни, хеширование паролей с солью, сильные секретные ключи, проверка токена на каждом запросе, ограничение частоты на эндпоинтах входа, ротация секретов. В «DON'T» — пароли в открытом виде, токены в параметрах URL, слабые ключи, чувствительные данные в payload JWT, отключённый HTTPS в продакшене, логирование токенов, повторное использование API-ключей между сервисами.

Пример в Quick Start берёт секреты из переменных окружения, но с запасным значением прямо в коде. Для продакшена это плохой ход — такой запасной ключ утечёт в репозиторий, поэтому проверьте, что JWT_SECRET и REFRESH_SECRET заданы, а фолбэк убран.

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

  • закрыть эндпоинты API и не оставить дыру в проверке токена
  • сделать вход и выход пользователя с access- и refresh-токенами
  • подключить OAuth 2.0 провайдера к своему сервису
  • завести аутентификацию по API-ключам для внешних клиентов
  • убрать пароли в открытом виде и слабые секретные ключи

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

  • Добавь в проект аутентификацию по JWT: вход, проверка токена на каждом запросе, обновление через refresh-токен
  • Помоги подключить OAuth 2.0 провайдера и разобрать поток получения токена
  • Сделай аутентификацию по API-ключам для внешних клиентов и ограничь частоту запросов на входе

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

1Через Skills CLI (Vercel)

npx skills add aj-geddes/useful-ai-prompts --skill api-authentication -a claude-code

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

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

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

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

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

fastapi-development Скилл для ИИ-агента, который помогает писать Python-API на FastAPI: асинхронные роуты, валидация через Pydantic, JWT и автодокументация OpenAPI. CX Codex +1 618установок aws-lambda-functions Скилл помогает агенту создавать и разворачивать функции AWS Lambda: триггеры, права, слои, переменные окружения. CX Codex +1 614установок user-research-analysis Скилл для разбора интервью и опросов: вытаскивает темы, боли и цитаты, чтобы решения по дизайну опирались на данные. CX Codex +1 612установок vulnerability-scanning Скилл для поиска уязвимостей в зависимостях, коде, контейнерах и секретах. Пригодится перед деплоем и при аудитах безопасности. CX Codex +1 611установок Time Series Analysis Скилл для разбора временных рядов: тренд, сезонность, автокорреляция и прогноз на Python. Пригодится, когда надо понять данные по продажам или трафику. CX Codex +1 605установок performance-testing Скилл помогает агенту проектировать нагрузочные тесты и бенчмарки: замерять время отклика, пропускную способность и потребление ресурсов. CX Codex +1 603установок competitor-analysis Скилл для разбора конкурентной среды: сильные и слабые стороны, возможности и угрозы, матрица сравнения. Пригодится перед выбором позиционирования или цен. CX Codex +1 603установок design-patterns-implementation Помогает агенту подобрать паттерн под архитектурную задачу: Singleton, Factory, Observer, Strategy и другие. Пригодится при рефакторинге и разборе ревью. CX Codex +1 595установок

Другие версии api-authentication

Похожие

Рядом в теме «Безопасность»

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

Вопросы о api-authentication

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

Выполните npx skills add aj-geddes/useful-ai-prompts --skill api-authentication -a claude-code. Файл скилла окажется по пути ~/.claude/skills/api-authentication/SKILL.md.

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

Даёт агенту инструкции по аутентификации API: JWT, OAuth 2.0, API-ключи и управление сессиями. Внутри есть справочники в references/ и пример на Node.js.

Какие языки и библиотеки разбирает скилл?

Пример в Quick Start написан на Node.js с express, jsonwebtoken и bcrypt. Отдельный справочник посвящён реализации на Python.

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

SKILL.md · MIT
---
name: api-authentication
description: >
  Implement secure API authentication with JWT, OAuth 2.0, API keys, and session
  management. Use when securing APIs, managing tokens, or implementing user
  authentication flows.
---

# API Authentication

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Implement comprehensive authentication strategies for APIs including JWT tokens, OAuth 2.0, API keys, and session management with proper security practices.

## When to Use

- Securing API endpoints
- Implementing user login/logout flows
- Managing access tokens and refresh tokens
- Integrating OAuth 2.0 providers
- Protecting sensitive data
- Implementing API key authentication

## Quick Start

Minimal working example:

```javascript
// Node.js JWT Implementation
const express = require('express');
const jwt = require('jsonwebtoken');
const bcrypt = require('bcrypt');

const app = express();
const SECRET_KEY = process.env.JWT_SECRET || 'your-secret-key';
const REFRESH_SECRET = process.env.REFRESH_SECRET || 'your-refresh-secret';

// User login endpoint
app.post('/api/auth/login', async (req, res) => {
  try {
    const { email, password } = req.body;

    // Find user in database
    const user = await User.findOne({ email });
    if (!user) {
      return res.status(401).json({ error: 'Invalid credentials' });
    }

    // Verify password
    const isValid = await bcrypt.compare(password, user.password);
    if (!isValid) {
      return res.status(401).json({ error: 'Invalid credentials' });
    }
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [JWT Authentication](references/jwt-authentication.md) | JWT Authentication |
| [OAuth 2.0 Implementation](references/oauth-20-implementation.md) | OAuth 2.0 Implementation |
| [API Key Authentication](references/api-key-authentication.md) | API Key Authentication |
| [Python Authentication Implementation](references/python-authentication-implementation.md) | Python Authentication Implementation |

## Best Practices

### ✅ DO

- Use HTTPS for all authentication
- Store tokens securely (HttpOnly cookies)
- Implement token refresh mechanism
- Set appropriate token expiration times
- Hash and salt passwords
- Use strong secret keys
- Validate tokens on every request
- Implement rate limiting on auth endpoints
- Log authentication attempts
- Rotate secrets regularly

### ❌ DON'T

- Store passwords in plain text
- Send tokens in URL parameters
- Use weak secret keys
- Store sensitive data in JWT payload
- Ignore token expiration
- Disable HTTPS in production
- Log sensitive tokens
- Reuse API keys across services
- Store credentials in code

© aj-geddes · MIT · aj-geddes/useful-ai-prompts

Смотрите также

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

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