api-authentication について
JWT、OAuth 2.0、API キー、セッション管理による API 認証の実装を扱うセキュリティスキルです。認証フローと認証情報を保護するためのガイドと実践方法を提供します。
主な機能
- 01JWT 認証ガイド
- 02OAuth 2.0 の実装
- 03API キー認証
- 04トークン更新と有効期限の管理
- 05パスワードハッシュ化とレート制限
活用シーン
- 01API エンドポイントの保護
- 02ログイン・ログアウトフローの構築
- 03アクセストークンと更新トークンの管理
- 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.mdjwt-authentication.mdoauth-20-implementation.mdpython-authentication-implementation.mdscripts/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 Authentication | JWT 認証 |
| OAuth 2.0 Implementation | OAuth 2.0 の実装 |
| API Key Authentication | API キー認証 |
| Python Authentication Implementation | Python 認証の実装 |
ベストプラクティス
✅ 推奨事項
- すべての認証で HTTPS を使用する
- トークンを安全に保存する(HttpOnly Cookie)
- トークンの更新メカニズムを実装する
- 適切なトークン有効期限を設定する
- パスワードをハッシュ化し、ソルトを付与する
- 強力な秘密鍵を使用する
- すべてのリクエストでトークンを検証する
- 認証エンドポイントにレート制限を実装する
- 認証の試行を記録する
- 秘密情報を定期的にローテーションする
❌ 禁止事項
- パスワードを平文で保存する
- URL パラメーターにトークンを含めて送信する
- 脆弱な秘密鍵を使用する
- JWT ペイロードに機密データを保存する
- トークンの有効期限を無視する
- 本番環境で HTTPS を無効にする
- 機密性の高いトークンをログに記録する
- サービス間で API キーを使い回す
- 認証情報をコードに保存する
コメント
Markdown 対応