mcpField
O
oauth-implementation

oauth-implementation

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

oauth-implementation について

OAuth 2.0 と OpenID Connect 認証を実装するためのセキュリティ開発スキルです。JWT、リフレッシュトークン、セッション管理を扱い、Node.js、Python、Java の実装ガイドを含みます。

主な機能

  1. 01OAuth 2.0 認証フロー
  2. 02OpenID Connect の実装
  3. 03JWT とリフレッシュトークンの処理
  4. 04安全なセッション管理
  5. 05Node.js、Python、Java のガイド

活用シーン

  1. 01ユーザー認証システムの構築
  2. 02サードパーティ API の統合
  3. 03シングルサインオンの実装
  4. 04モバイルアプリ認証の保護

インストール

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

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

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

同梱ファイル

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

references/
java-spring-security-oauth.md
nodejs-oauth-20-server.md
python-openid-connect-implementation.md
scripts/
security-checklist.sh

詳細

OAuth の実装

目次

概要

JWT トークン、リフレッシュトークン、安全なセッション管理を使用して、業界標準の OAuth 2.0 および OpenID Connect の認証フローを実装します。

使用する場面

  • ユーザー認証システム
  • サードパーティ API の統合
  • シングルサインオン(SSO)の実装
  • モバイルアプリの認証
  • マイクロサービスのセキュリティ
  • ソーシャルログインの統合

クイックスタート

最小限の動作例:

// oauth-server.js - Complete OAuth 2.0 implementation
const express = require("express");
const jwt = require("jsonwebtoken");
const crypto = require("crypto");
const bcrypt = require("bcrypt");

class OAuthServer {
  constructor() {
    this.app = express();
    this.clients = new Map();
    this.authorizationCodes = new Map();
    this.refreshTokens = new Map();
    this.accessTokens = new Map();

    // JWT signing keys
    this.privateKey = process.env.JWT_PRIVATE_KEY;
    this.publicKey = process.env.JWT_PUBLIC_KEY;

    this.setupRoutes();
  }

  // Register OAuth client
  registerClient(clientId, clientSecret, redirectUris) {
    this.clients.set(clientId, {
      clientSecret: bcrypt.hashSync(clientSecret, 10),
// ... (see reference guides for full implementation)

リファレンスガイド

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

ガイド内容
Node.js OAuth 2.0 サーバーNode.js OAuth 2.0 サーバー
Python OpenID Connect の実装Python OpenID Connect の実装
Java Spring Security OAuthJava Spring Security OAuth

ベストプラクティス

✅ 推奨事項
  • パブリッククライアントでは PKCE を使用します
  • トークンローテーションを実装します
  • トークンを安全に保存します
  • 常に HTTPS を使用します
  • リダイレクト URI を検証します
  • レート制限を実装します
  • 有効期間の短いアクセストークンを使用します
  • 認証イベントをログに記録します
❌ 禁止事項
  • トークンを localStorage に保存しないでください
  • インプリシットフローを使用しないでください
  • state パラメーターを省略しないでください
  • クライアントシークレットを公開しないでください
  • オープンリダイレクトを許可しないでください
  • 脆弱な署名鍵を使用しないでください

コメント