Skip to content

v0.3.0: OAuth Authentication Support

Latest

Choose a tag to compare

@k-ibaraki k-ibaraki released this 11 Oct 10:02
· 3 commits to main since this release
405720d

SharePoint Docs MCP Server v0.3.0

🚀 新機能

OAuth 2.0認証対応

  • OAuth 2.0 Authorization Code Flow with PKCEによる認証機能を追加
  • FastMCPのOIDCProxyを活用した二段階認証アーキテクチャ
  • HTTPトランスポート専用でブラウザベース認証をサポート
  • ユーザー委任権限による最小権限の原則に基づくアクセス制御

セキュリティ機能強化

  • 本番環境向けリダイレクトURI制限機能
    • 開発環境: すべてのURIを許可(設定なし)
    • 本番環境: 指定されたパターンのみ許可
  • **PKCE(Proof Key for Code Exchange)**使用によるトークン傍受防止
  • OAuth設定の事前検証とFail Fast原則
  • セキュリティ監査ログ機能

🔧 技術的改善

認証アーキテクチャ

  • AzureOIDCProxyForSharePoint: Azure AD v2.0対応のカスタムOIDCプロキシ
    • 非対応の'resource'パラメータを自動除去
  • SharePointTokenVerifier: SharePoint専用のトークン検証器
  • SimpleTokenAuth: OAuth用のトークン認証ラッパー

設定管理の向上

  • 認証モードの動的切り替え: SHAREPOINT_AUTH_MODE環境変数
  • OAuth用Client IDのフォールバック機能
  • 詳細なエラーメッセージとデバッグ支援

後方互換性

  • 既存の証明書認証との完全な後方互換性
  • 設定の柔軟性を保ちながら新機能を追加

📋 新しい環境変数

# OAuth認証モード設定
SHAREPOINT_AUTH_MODE=oauth

# OAuth認証情報(HTTPトランスポート専用)
SHAREPOINT_OAUTH_CLIENT_SECRET=your-oauth-client-secret-here
SHAREPOINT_OAUTH_SERVER_BASE_URL=http://localhost:8000

# 本番環境向けリダイレクトURI制限
SHAREPOINT_OAUTH_ALLOWED_REDIRECT_URIS=https://claude.ai/*,https://*.anthropic.com/*

🛡️ セキュリティ考慮事項

  • 二段階認証: MCP Client ↔ FastMCP Server ↔ SharePoint API
  • PKCE使用: パブリッククライアント(Claude Desktop、MCP Inspector等)での安全な認証
  • 最小権限: ユーザー委任権限(AllSites.Read/Write)のみ使用
  • トークン管理: FastMCPのセキュアなトークンハンドリング

📚 ドキュメント更新

  • 設定ガイド: OAuth認証のAzure AD設定手順を追加
  • 技術記事: OAuth実装の詳細な技術解説
  • トラブルシューティング: OAuth関連の問題解決ガイド

🎯 利用シーン

証明書認証(従来)

  • サーバーアプリケーション
  • 自動化・バッチ処理
  • 全サイトアクセスが必要なケース

OAuth認証(新機能)

  • インタラクティブなユーザーセッション
  • Claude Desktop統合
  • MCP Inspector等のツール連携
  • ユーザー権限に基づくアクセス制御

完全な技術仕様: 設定ガイド | 使用方法 | 開発ガイド

Claude Code との協力により開発されました 🤖