mcpField
A
api-authentication

api-authentication

github.com/aj-geddesセキュリティ373609 回インストール34 週間前に更新
リポジトリ

api-authentication について

JWT、OAuth 2.0、API キー、セッション管理による API 認証の実装を扱うセキュリティスキルです。認証フローと認証情報を保護するためのガイドと実践方法を提供します。

主な機能

  1. 01JWT 認証ガイド
  2. 02OAuth 2.0 の実装
  3. 03API キー認証
  4. 04トークン更新と有効期限の管理
  5. 05パスワードハッシュ化とレート制限

活用シーン

  1. 01API エンドポイントの保護
  2. 02ログイン・ログアウトフローの構築
  3. 03アクセストークンと更新トークンの管理
  4. 04OAuth 2.0 プロバイダーとの連携

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill api-authentication

インストール後、Claude Code で/api-authenticationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-key-authentication.md
jwt-authentication.md
oauth-20-implementation.md
python-authentication-implementation.md
scripts/
security-checklist.sh

詳細

API 認証

目次

概要

JWT トークン、OAuth 2.0、API キー、セッション管理など、適切なセキュリティ対策を備えた包括的な API 認証戦略を実装します。

使用する場面

  • API エンドポイントを保護する
  • ユーザーのログイン/ログアウトのフローを実装する
  • アクセストークンとリフレッシュトークンを管理する
  • OAuth 2.0 プロバイダーと連携する
  • 機密データを保護する
  • API キー認証を実装する

クイックスタート

最小限の動作例:

// 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)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります。

ガイド内容
JWT AuthenticationJWT 認証
OAuth 2.0 ImplementationOAuth 2.0 の実装
API Key AuthenticationAPI キー認証
Python Authentication ImplementationPython 認証の実装

ベストプラクティス

✅ 推奨事項
  • すべての認証で HTTPS を使用する
  • トークンを安全に保存する(HttpOnly Cookie)
  • トークンの更新メカニズムを実装する
  • 適切なトークン有効期限を設定する
  • パスワードをハッシュ化し、ソルトを付与する
  • 強力な秘密鍵を使用する
  • すべてのリクエストでトークンを検証する
  • 認証エンドポイントにレート制限を実装する
  • 認証の試行を記録する
  • 秘密情報を定期的にローテーションする
❌ 禁止事項
  • パスワードを平文で保存する
  • URL パラメーターにトークンを含めて送信する
  • 脆弱な秘密鍵を使用する
  • JWT ペイロードに機密データを保存する
  • トークンの有効期限を無視する
  • 本番環境で HTTPS を無効にする
  • 機密性の高いトークンをログに記録する
  • サービス間で API キーを使い回す
  • 認証情報をコードに保存する

コメント