mcpField
S
session-management

session-management

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

session-management について

複数のバックエンドフレームワークでセッション管理を実装するスキルです。安全なトークン処理、永続化、更新、ログアウト、CSRF 対策を扱い、JWT、Redis ストレージ、ミドルウェア、セッション保守のガイドを含みます。

主な機能

  1. 01安全なトークン処理
  2. 02セッションの永続化
  3. 03トークン更新の仕組み
  4. 04ログアウト手順
  5. 05CSRF 対策
  6. 06セッションクリーンアップのガイド

活用シーン

  1. 01ユーザー認証の実装
  2. 02セッション状態とユーザーコンテキストの管理
  3. 03JWT 更新サイクルへの対応
  4. 04状態変更リクエストの CSRF 対策

インストール

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

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

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

同梱ファイル

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

references/
csrf-protection.md
jwt-token-generation-and-validation.md
nodejsexpress-jwt-implementation.md
session-cleanup-and-maintenance.md
session-middleware-chain.md
session-storage-with-redis.md
token-refresh-endpoint.md
scripts/
security-checklist.sh

詳細

セッション管理

目次

概要

セキュアなトークン処理、セッションの永続化、トークンのリフレッシュ機構、適切なログアウト手順、CSRF 保護を備えた包括的なセッション管理システムを、さまざまなバックエンドフレームワークで実装します。

使用する場面

  • ユーザー認証システムを実装する場合
  • セッション状態とユーザーコンテキストを管理する場合
  • JWT トークンのリフレッシュサイクルを処理する場合
  • ログアウト機能を実装する場合
  • CSRF 攻撃から保護する場合
  • セッションの有効期限切れとクリーンアップを管理する場合

クイックスタート

最小限の実行可能な例:

# Python/Flask Example
from flask import current_app
from datetime import datetime, timedelta
import jwt
import os

class TokenManager:
    def __init__(self, secret_key=None):
        self.secret_key = secret_key or os.getenv('JWT_SECRET')
        self.algorithm = 'HS256'
        self.access_token_expires_hours = 1
        self.refresh_token_expires_days = 7

    def generate_tokens(self, user_id, email, role='user'):
        """Generate both access and refresh tokens"""
        now = datetime.utcnow()

        # Access token
        access_payload = {
            'user_id': user_id,
            'email': email,
            'role': role,
            'type': 'access',
            'iat': now,
            'exp': now + timedelta(hours=self.access_token_expires_hours)
// ... (see reference guides for full implementation)

リファレンスガイド

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

ガイド内容
JWT トークンの生成と検証JWT トークンの生成と検証
Node.js/Express の JWT 実装Node.js/Express の JWT 実装
Redis によるセッションストレージRedis によるセッションストレージ
CSRF 保護CSRF 保護
セッションミドルウェアチェーンセッションミドルウェアチェーン
トークンリフレッシュエンドポイントトークンリフレッシュエンドポイント
セッションのクリーンアップとメンテナンスセッションのクリーンアップとメンテナンス

ベストプラクティス

✅ 推奨事項
  • すべてのセッション通信に HTTPS を使用する
  • セキュアな Cookie(httpOnly、sameSite、secure フラグ)を実装する
  • 適切な有効期限を設定した JWT を使用する
  • トークンのリフレッシュ機構を実装する
  • リフレッシュトークンを安全に保存する
  • すべてのリクエストでトークンを検証する
  • 強力なシークレットキーを使用する
  • セッションタイムアウトを実装する
  • 認証イベントをログに記録する
  • ログアウト時にセッションデータを消去する
  • 状態を変更するリクエストに CSRF トークンを使用する
❌ 禁止事項
  • トークンに機密データを保存する
  • 短いシークレットキーを使用する
  • URL でトークンを送信する
  • トークンの有効期限を無視する
  • 環境間でトークンシークレットを再利用する
  • localStorage にトークンを保存する(httpOnly Cookie を使用してください)
  • HTTPS を使わずにセッションを実装する
  • トークンの署名検証を忘れる
  • ログにセッション ID を露出させる
  • 推測可能なセッション ID を使用する

コメント