AIKraft/Skills/oauth: реализация

oauth: реализация

Guidelines for implementing OAuth 2.0 and OAuth 2.1 authentication flows with security best practices and PKCE

mindrally official Разработка

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

Направляет реализацию потоков аутентификации OAuth 2.0 и OAuth 2.1 с обязательным использованием PKCE и отказом от небезопасных паттернов. Обеспечивает безопасность через валидацию токенов, защиту от CSRF и строгое управление областями видимости.

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

  • Реализация Authorization Code Flow с PKCE для клиентских приложений
  • Настройка серверной части для обмена кодов на токены (confidential client)
  • Валидация JWT-токенов с использованием JWKS и проверка подписи
  • Защита от CSRF, инъекций кодов и утечек токенов

Как работает

  1. Генерировать криптографически стойкий code_verifier и code_challenge (S256) перед запросом авторизации
  2. Инициировать запрос авторизации с параметрами response_type=code, state, code_challenge и code_challenge_method
  3. На стороне клиента или сервера валидировать state-параметр для защиты от CSRF при возврате
  4. Обменять authorization code на access и refresh tokens, передавая code_verifier
  5. Валидировать входящие токены (JWT) по алгоритмам (например, RS256), audience и issuer
  6. Реализовать ротацию refresh tokens и хранить токены в безопасном хранилище (HttpOnly cookies, encrypted session)

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

Реализуй Authorization Code Flow с PKCE на JavaScript для браузера
Напиши серверный обработчик на Node.js/Express для обмена кода авторизации на токены
Проверь JWT-токен, используя JWKS URI и алгоритм RS256

Что понадобится

  • Среда выполнения с поддержкой crypto API (например, Node.js или современный браузер)
  • Доступ к endpoints: Authorization Endpoint, Token Endpoint, JWKS URI
  • Клиентские учетные данные: client_id, client_secret (для confidential clients)

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «oauth-implementation» из репозитория: # https://github.com/mindrally/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r oauth-implementation/ ~/.claude/skills/oauth-implementation/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.