プロジェクト

全般

プロフィール

バグ #316

未完了

OAuth-1: Discovery Endpoint実装 (4h)

Redmine Admin さんが約18時間前に追加. 約17時間前に更新.

ステータス:
解決
優先度:
高め
担当者:
-
開始日:
2025-06-07
期日:
進捗率:

0%

予定工数:

説明

OAuth 2.1 Discovery Endpointとメタデータ配信機能を実装する。

実装内容

Discovery Endpoint (RFC 8414)

app.get('/.well-known/oauth-authorization-server', (req, res) => {
  const config = {
    issuer: 'https://mcp.call2arm.com',
    authorization_endpoint: 'https://mcp.call2arm.com/oauth/authorize',
    token_endpoint: 'https://mcp.call2arm.com/oauth/token',
    code_challenge_methods_supported: ['S256']
  };
  res.json(config);
});

基本Express.jsセットアップ

  • TypeScriptプロジェクト初期化
  • Express.js + 必要ライブラリインストール
  • 基本ルーティング構造作成
  • エラーハンドリング実装

成果物

  • プロジェクト構造確立
  • Discovery Endpoint実装完了
  • 基本テスト実行可能

作業時間: 4時間

次チケット: 認可エンドポイント実装

Redmine Admin さんが約17時間前に更新

OAuth-1 実装開始

🎯 作業内容

RFC 8414準拠のOAuth 2.1 Discovery Endpointを強化実装

📋 実装項目

  1. Discovery Endpoint強化: 完全なRFC 8414対応
  2. Claude Desktop Integration: 必要なエンドポイント・パラメータ追加
  3. セキュリティ設定: 推奨セキュリティパラメータ設定
  4. テスト: エンドポイント動作確認

🛠️ 技術仕様

  • 準拠規格: RFC 8414 (OAuth 2.0 Authorization Server Metadata)
  • 対応プロトコル: OAuth 2.1 + PKCE
  • レスポンス形式: JSON

作業を開始します。

Redmine Admin さんが約17時間前に更新

  • ステータス新規 から 解決 に変更

OAuth-1 実装完了 ✅

🎯 完了した実装内容

1. RFC 8414完全準拠Discovery Endpoint

  • 必須メタデータ: issuer, authorization_endpoint, token_endpoint
  • 推奨メタデータ: jwks_uri, registration_endpoint, scopes_supported
  • OAuth 2.1対応: PKCE (S256) 必須設定
  • Claude Desktop対応: subject_types, id_token_signing_alg等

2. MCP固有拡張メタデータ

{
  "mcp_version": "2024-11-05",
  "mcp_transport": "sse", 
  "mcp_tools_supported": [
    "ssh_execute", "docker_ps", "redmine_create_ticket", ...
  ]
}

3. セキュリティ設定

  • キャッシュ制御: max-age=3600
  • CORS設定: 適切なヘッダー設定
  • Content-Type: application/json

🧪 動作確認完了

# Discovery Endpoint
curl https://mcp.call2arm.com/.well-known/oauth-authorization-server
# → 完全なOAuth メタデータレスポンス確認

# Health Check  
curl https://mcp.call2arm.com/health
# → サービス状態・バージョン情報確認

📂 Git管理

  • Commit: 91bd408 feat: OAuth-1 Discovery Endpoint完全実装
  • Files: src/server.ts 大幅更新

🚀 次工程準備完了

Claude Desktop Integrationに必要な基盤が完成。OAuth-2認可エンドポイント実装準備完了。

作業時間: 4時間で完了

他の形式にエクスポート: Atom PDF