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

oauth-implementation · secondsky — скилл для Claude Code

Скилл помогает внедрить OAuth 2.0 и OpenID Connect, настроить авторизационные потоки и устранить ошибки валидации state, PKCE или ротации токенов.

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

Что делает oauth-implementation

Скилл содержит паттерны реализации OAuth 2.0 и OpenID Connect для веб-приложений, SPA и межсервисного взаимодействия. Внутри описаны Authorization Code flow с валидацией параметра state, связка с PKCE для публичных клиентов, Client Credentials и процедура обновления сессий по refresh-токену.

Для Node.js и Express даны готовые обработчики логина и callback с обменом кода на токены, а также генератор verifier и challenge через модуль crypto. В справочных материалах упомянуты реализации для Python Flask с Authlib и Java Spring Security, включая конечные точки discovery и JWKS.

Архитектура требует строгого соблюдения безопасности: время жизни access-токена ограничено 15 минутами, токены сохраняются в HttpOnly cookies, а implicit flow и хранение в localStorage запрещены.

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

  • реализовать Authorization Code flow с проверкой параметра state
  • сгенерировать verifier и challenge по стандарту PKCE для SPA
  • настроить межсервисный обмен по протоколу Client Credentials
  • организовать ротацию refresh-токенов с ограничением времени сессий

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

  • Напиши эндпоинты /auth/login и /auth/callback на Express с проверкой oauthState.
  • Сделай функцию генерации PKCE для авторизации в мобильном приложении.
  • Покажи, как настроить ротацию refresh-токенов и ограничить жизнь access-токена 15 минутами.

Как установить oauth-implementation

1Через Skills CLI (Vercel)

npx skills add secondsky/claude-skills --skill oauth-implementation -a claude-code

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

~/.claude/skills/oauth-implementation/SKILL.md

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

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

Вопросы о oauth-implementation

Как установить oauth-implementation в Claude Code?

Выполните команду npx skills add secondsky/claude-skills --skill oauth-implementation -a claude-code. Файл навыка сохранится в каталоге проекта.

Для каких задач подходит этот скилл?

Он нужен при подключении сторонних провайдеров авторизации, настройке SSO, создании межсервисных интеграций и исправлении ошибок в потоках PKCE или OAuth 2.0.

Какие правила безопасности обязательны при реализации?

Инструкция требует использовать HTTPS, проверять redirect_uri, хранить токены только в HttpOnly cookies и ограничивать жизнь access-токенов 15 минутами. Использовать implicit flow или localStorage запрещено.

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

SKILL.md · MIT
---
name: oauth-implementation
description: OAuth 2.0 and OpenID Connect authentication with secure flows. Use for third-party integrations, SSO systems, token-based API access, or encountering authorization code flow, PKCE, token refresh, scope management errors.
license: MIT
---

# OAuth Implementation

Implement OAuth 2.0 and OpenID Connect for secure authentication.

## OAuth 2.0 Flows

| Flow | Use Case |
|------|----------|
| Authorization Code | Web apps (most secure) |
| Authorization Code + PKCE | SPAs, mobile apps |
| Client Credentials | Service-to-service |
| Refresh Token | Session renewal |

## Authorization Code Flow (Express)

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

// Step 1: Redirect to authorization
app.get('/auth/login', (req, res) => {
  const state = crypto.randomBytes(16).toString('hex');
  req.session.oauthState = state;

  const params = new URLSearchParams({
    client_id: process.env.CLIENT_ID,
    redirect_uri: process.env.REDIRECT_URI,
    response_type: 'code',
    scope: 'openid profile email',
    state
  });

  res.redirect(`${PROVIDER_URL}/authorize?${params}`);
});

// Step 2: Handle callback
app.get('/auth/callback', async (req, res) => {
  if (req.query.state !== req.session.oauthState) {
    return res.status(400).json({ error: 'Invalid state' });
  }

  const tokenResponse = await fetch(`${PROVIDER_URL}/token`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams({
      grant_type: 'authorization_code',
      code: req.query.code,
      redirect_uri: process.env.REDIRECT_URI,
      client_id: process.env.CLIENT_ID,
      client_secret: process.env.CLIENT_SECRET
    })
  });

  const tokens = await tokenResponse.json();
  // Store tokens securely and create session
});
```

## PKCE for Public Clients

```javascript
function generatePKCE() {
  const verifier = crypto.randomBytes(32).toString('base64url');
  const challenge = crypto
    .createHash('sha256')
    .update(verifier)
    .digest('base64url');
  return { verifier, challenge };
}
```

## Security Requirements

- Always use HTTPS
- Validate redirect URIs strictly
- Use PKCE for public clients
- Store tokens in HttpOnly cookies
- Implement token rotation
- Use short-lived access tokens (15 min)

## Additional Implementations

See [references/python-java.md](references/python-java.md) for:
- Python Flask with Authlib OIDC provider
- OpenID Connect discovery and JWKS endpoints
- Java Spring Security OAuth2 server
- Token introspection and revocation

## Never Do

- Store tokens in localStorage
- Use implicit flow
- Skip state parameter validation
- Expose client secrets in frontend
- Use long-lived access tokens

© secondsky · MIT · secondsky/claude-skills

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

Все скиллы по теме «Безопасность» →

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

oauth-implementation aj-geddes Помогает развернуть потоки OAuth 2.0, OpenID Connect, авторизацию по JWT и SSO в веб- и мобильных проектах. Пригодится при настройке входа через соцсети и защите API. CX Codex +1 553установок oauth-implementation Mindrally Инструкции по настройке OAuth 2.0 и 2.1 с защитой через PKCE, ротацией токенов и валидацией redirect URI. Помогает внедрить авторизацию без устаревших небезопасных потоков. CX Codex +1 719установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. CX Codex +1 57 000установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. CX Codex +1 45 400установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. CX Codex +1 54 800установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. CX Codex +1 70 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

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

bun-tanstack-start Скилл подсказывает агенту, как поднять full-stack приложение на TanStack Start с рантаймом Bun: роутинг, серверные функции, сборка. CX Codex +1 414установок nuxt-production Скилл помогает оптимизировать проекты на Nuxt 4 для продакшена: настраивает гидратацию, тесты Vitest и деплой на серверлесс-платформы. CX Codex +1 412установок bun-docker Скилл подсказывает, как собрать Dockerfile и docker-compose для приложения на Bun: официальные образы oven/bun, многоэтапные сборки, hot reload. CX Codex +1 408установок nuxt-ui-v4 Скилл для сборки интерфейсов на Nuxt UI v4: 125+ компонентов, Tailwind v4, тёмная тема. Пригодится, когда агент пишет дашборд, форму или чат на Nuxt. CX Codex +1 410установок api-gateway-configuration Скилл помогает настроить маршрутизацию, аутентификацию и лимиты запросов в API-шлюзе микросервисной архитектуры. CX Codex +1 408установок health-check-endpoints Скилл для ИИ-кодинга, который помогает настроить liveness, readiness и startup-пробы, а также проверки зависимостей вроде базы и Redis. CX Codex +1 406установок session-management Скилл для ИИ-кодинга, который помогает собрать вход в аккаунт: JWT-токены, хранение сессий в Redis, обновление токена и настройка cookie. CX Codex +1 408установок bun-test-mocking Помогает писать моки и шпионы во встроенном раннере bun:test. Пригодится при изоляции сетевых вызовов и подмене модулей. CX Codex +1 405установок

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

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