OAuth 流程(MCP Authentication)
需要認證的 MCP server(如 Slack、Notion、Linear)採用 OAuth 2.0 流程把使用者帳號的存取權交給 Claude。
完整流程(8 步)
1. 使用者在 [[Cowork]] 點「連接 Slack」
↓
2. Claude 開瀏覽器 → Slack OAuth URL
↓
3. 使用者登入 Slack + 選工作區
↓
4. Slack 顯示「允許 Claude 讀訊息?」
↓
5. 使用者點「授權」
↓
6. Slack 回傳 access_token 給 Cowork
↓
7. Token 存於本地加密倉
(macOS Keychain / Windows Credential Manager)
↓
8. MCP Server 用 token 呼叫 Slack API
安全要點
| 項目 | 行為 |
|---|---|
| Access Token | 永遠不上傳 Anthropic 雲端 |
| 儲存位置 | 本機加密倉(OS-level keychain) |
| Refresh Token | 自動更新授權 |
| 撤銷 | 使用者可隨時「移除授權」清空 token |
在 Cowork 中操作
- 設定 → 左側「MCP Servers」
- 點 + Add Server → 搜尋(如 Slack)
- 點選 → 自動跳出 OAuth 授權頁
- 用您的 Slack 帳號登入 → 核准權限
- 授權後 token 存在本地加密區
- 開始用:「查我 Slack 上週訊息」
在 Claude Code 中設定
claude_desktop_config.json 不直接放 OAuth token(不安全)。改用:
- 環境變數(如
SLACK_BOT_TOKEN) - 或讓 MCP server 自己處理 OAuth(server 啟動時開瀏覽器)
詳見 Claude Code 的 MCP 設定段落。
OAuth vs API Key
| 認證方式 | 適用 | 安全性 | 設定難度 |
|---|---|---|---|
| OAuth 2.0 | 個人雲端服務(Slack/Gmail/Notion) | 高(可撤銷、有 scope) | 中(流程複雜但 UI 引導) |
| API Key | 自家系統、開發環境 | 中(外洩需手動撤銷) | 低(直接貼) |
| 本地 stdio | 本機 DB / 工具 | 高(不出本機) | 低 |
對 PAM 的應用
如果未來要寫「PAM 員工查詢 MCP server」,OAuth 流程:
- 整合公司 SSO(如 Azure AD / Google Workspace)
- 使用者登入後拿 token
- token 存 Cowork 本地
- MCP server 用 token 查 PAM API
避免每個使用者要手動填 API Key(不安全且不便)。
相關概念
強連結(原文明確提及)
- MCP 三層架構 — OAuth 是 Server 啟動時的認證層
- MCP 原語 — 認證後才能呼叫 Tools
- Cowork — UI 觸發 OAuth flow
- Claude Code — CLI 配置
深入閱讀(外部資源)
- 深入閱讀:11-MCP 建置與使用 §「OAuth 認證流程」
← 回到 wiki