當 AI Agent、MCP Server、CLI 工具在公司內部數十倍增長,「帳密寫死進原始碼」與「Token 發出去就追不回來」會從個別小問題,升級成系統性的資安風險。MCP 授權規格其實已經給出方向——把 MCP Server 視為 OAuth 的 Resource Server——但真正卡住工程師的是中間幾層:Client 怎麼知道該去哪裡登入?Token 憑什麼只能存取「這一台」MCP Server?出事時又該怎麼關掉?
這場工作坊不講投影片上的理論,而是讓每位學員親手把這些問題解掉一次。現場會提供一座已架設完成的 OAuth 2.0 / OpenID Connect 認證閘道,學員不必花時間建置認證環境,重心全放在自己筆電上的 MCP Server 與 MCP Client。
學員會從一支「沒有任何認證、誰都能呼叫」的 MCP Server 出發,一段一段補上正確的授權層:回應 401 Unauthorized 與 WWW-Authenticate 挑戰、提供 Protected Resource Metadata(RFC 9728)讓 Client 自行發現授權伺服器、以 Authorization Code Flow + PKCE 取得 Token、在 Server 端透過 JWKS 驗證 JWT 並檢查 scope,最後使用 Resource Indicators(RFC 8707)將 Token 綁定至特定 resource/audience,並實際驗證「隔壁 MCP Server 的 Token 打不進來」。
收尾是一場完整的事故演練:學員扮演管理員即時撤銷某個 Token,觀察 MCP Client 當場被擋下,再從稽核日誌追溯整起事件。整場刻意模擬「AI 工具接入 → 出事 → 即時止血」的迴圈,讓學員親身體會「為什麼不該寫死金鑰」與「Token 必須可撤銷」在實務上的差別。
課程重點放在通用的 OAuth / OpenID Connect 觀念、MCP 授權規格與架構決策,不綁定任何特定產品。課後即使將授權伺服器換成公司既有的 Keycloak、Auth0 或 Microsoft Entra ID,同一套設計原則與程式碼仍可延續使用。
1.一支自己寫的、帶完整認證的 MCP Server 學員將帶走自己筆電上的程式碼與設定,包含 metadata 端點、Token 驗簽、scope 檢查與 audience 綁定;將授權伺服器換成公司既有的 IdP 後即可延續使用。
2.讀懂 MCP 授權規格的能力 清楚理解 RFC 9728(Protected Resource Metadata)、RFC 8414(Authorization Server Metadata)、RFC 7636(PKCE)與 RFC 8707(Resource Indicators)各自負責流程中的哪一段。日後遇到「Client 連不上」或「Token 被拒絕」,能直接定位問題層次,而非逐項猜測。
3.親手跑通的無金鑰登入流程 實際操作 Authorization Code + PKCE(可使用瀏覽器)與 Device Flow(容器、遠端主機、CI)兩條路徑,理解 CLI 與 AI Agent 為何不需要在程式中寫死 client secret。
4.Token 生命週期治理的肌肉記憶 親手查詢 Token 資訊、設定到期、即時撤銷,看到 MCP Client 立即失效,再從稽核日誌追溯事件,建立「Token 必須可被關掉」的直覺。
5.一份可帶回內部討論的架構決策清單 釐清哪些內部 MCP Server 應升級為 Resource Server、scope 應如何切分、是否需要綁定 audience,以及 Token 應存放在哪裡才安全;每項都附帶取捨與常見實務陷阱。
1.能自在使用終端機/命令列(cd、環境變數、執行 CLI 工具)
2.理解基本 HTTP 概念(request/response、header、status code、JSON)
3.能讀懂任一語言的範例程式碼(Go / Python / TypeScript 任一即可)
4.曾使用過 AI 編碼工具或 MCP Server 者更佳,但非必要
請於課前完成安裝與設定,現場不預留安裝時間:
1.本機端以有 Clude Code, Codex CLI 或 Gemini CLI 等軟體
2.課前請安裝任一 MCP Client(Claude Code / Claude Desktop / VS Code)、Git、curl、jq 與編輯器。

現任聯發科技後端架構工程師,負責公司內部 Technology Platform 開發與維運。擅長以 Go 語言構建微服務架構,熱衷導入 DevOps 與自動化流程改善團隊協作效率。長期貢獻於 Open Source 專案,曾擔任多場技術研討會講師。目前專注於 AI 工具導入,探索 AI 能為軟體團隊帶來多少價值,加速開發流程與決策效率。
GitHub: https://github.com/appleboy
Speakerdeck: https://speakerdeck.com/appleboy