所有節目›AI Engineer Europe 2026| World's Fair 2026完整場次線上軌AI in HealthcareSoftware Factories
One Login to Rule Them All: Cross-App Access for MCP在 YouTube 看這一場

AI Engineer Europe 2026 · 演講 · 2026-04-28 · 23 分

用公司 SSO 一次連上所有 MCP

One Login to Rule Them All: Cross-App Access for MCP · Garrett Galow,WorkOS

MCP 的 OAuth 同意畫面煩人,也讓 IT 管不到 agent 拿了哪些權限。Garrett Galow 介紹 Cross-App Access(XAA),讓身分供應商替 client 與 server 牽線,使用者不必再點同意。

權限邊界看原片 ↗

概要

  • 同意畫面是 OAuth 的遺留MCP 底層用 OAuth,預設兩個系統彼此不信任,所以每連一個 server 都要使用者同意一次。但公司早就用 Okta 這類 SSO 登入各個應用,MCP 沒有沿用這個模型。
  • IT 看不到也收不回Garrett 說 IT 無法得知員工連了哪些 MCP 服務、用哪些 AI agent。帳號被停用後,已發出的 access token 與 refresh token 仍可能讓人在數天到數月內保有存取權。
  • XAA 讓 IdP 當中間的信任方Cursor 與 Figma 都已經信任同一個 Okta,XAA 讓 Cursor 向 Okta 換一張 IDJAG token,再拿去向 Figma 換 access token,全程不需要人介入。
  • 使用者只登入一次 IdPIdP 登入後,換 token 的步驟都在背景進行。access token 可以做得很短命(Garrett 舉例多數是五分鐘),SSO session 一被鎖,token 過期後就連不回去。
  • 三方各有要做的事IT 在 Okta 設定哪個 app 可以向哪個 app 要存取;MCP client 要能向 IdP 要 IDJAG 並做 token 交換;MCP server 要支援新的 JWT bearer 類型、驗證 token、再發 access token。
  • 目前還很新Q&A 中 Garrett 說這只解決 authentication,不處理 authorization 的 scope;目前只有 Okta 支援,Microsoft 還沒加。

原話

  • “You have this nice little consent screen that you're not going to read, you're just going to say OK, and you're going to get redirected back.”

    你有個漂亮的同意畫面,你不會去讀,只會按 OK,然後被導回來

    ▶ 01:40
  • “It sort of assumes that, you know, none of these apps know anything about each other.”

    它彷彿假設這些應用彼此毫無所知

    ▶ 03:25
  • “It's using a regular OAuth access token. It's not a new type of credential.”

    用的是一般 OAuth access token,不是新型態的憑證

    ▶ 11:41
  • “By default, no. So this is kind of just around the authentication bit.”

    預設不行,這主要只涉及 authentication 的部分

    ▶ 17:14

延伸

  • 帶 scope 的授權不在目前的規格裡,Garrett 說這是他們正在討論、之後必須處理的方向。
  • CIMD,Garrett 說大約三個月前才出來,所以生態系支援還少,但體驗比 DCR 好。

章節

點時碼直接跳到原片的那一段。

  1. 開場與自我介紹Garrett Galow 說自己做了近 15 年企業開發者平台,現在在 WorkOS,他們的 auth 服務用在 Anthropic、Cursor、OpenAI 等公司。
  2. MCP 的同意畫面用 Cursor 示範每個 MCP server 都要彈出同意視窗,有時還會莫名其妙要再來一次。
  3. OAuth 與 SSO 不對盤這是 MCP 採用 OAuth 的結果:OAuth 假設兩個系統互不信任,但公司裡大家已經用 Okta 這類 SSO,MCP 卻假設各應用互不相識。
  4. IT 團隊的難處使用者可以忍受麻煩,真正的問題在 IT:看不出員工連了哪些 MCP 服務、用哪些 AI agent,也擋不住不想讓 agent 碰的敏感資料。
  5. Axios 事件與長效 tokenGarrett 自己中了 NPM Axios 套件被入侵的事件,IT 能切網路、撤 Okta session,但本機的 MCP 連線與 API key 沒走 IdP;SSO 撤銷後 token 仍可能留著,新人到職也得自己逐一授權。
  6. 解法:Cross-App AccessXAA 讓 IdP 成為應用之間的信任方;Cursor 與 Figma 都已信任 Okta,所以可以不經人工就換到憑證。
  7. Demo:Claude Code 自動連 Figma左邊是一般 Claude Code,連 Figma 要走授權;右邊是他們實作的 XAA 版本(beta),登入 Okta 一次後,Figma 自動連上,沒看到同意畫面。
  8. 流程拆解:四個角色涉及 client、IdP、資源授權伺服器與資源伺服器;client 用 IdP 發的 ID token 與 refresh token 去要 IDJAG,再交給 Figma 換 access token。
  9. 使用者無感與短效 token第二、三步使用者看不到;token 到期後可自動重跑流程,SSO session 一被鎖就連不回去,資安姿態比較好。
  10. IT 管理員要設什麼沿用既有的 Cursor 與 Figma 的 Okta 應用,在 Okta 新的管理連線入口設定哪個 app 可以向哪個 app 要存取。
  11. MCP client 要做什麼要支援 SSO 與 XAA、向 IdP 要 IDJAG、對 server 發交換請求;WorkOS 已做完前三步,Cursor 與 Anthropic 正是用 WorkOS 的 SSO 連線在做這件事。
  12. MCP server 要做什麼要宣告支援新的 JWT bearer 類型、接收並向 IdP 驗證 token,最後發出 access token;規格細節 Garrett 建議看 blog 或請 Claude 解釋。
  13. Q&A:authorization 與 scope有聽眾問這是否解決授權;Garrett 說預設不,仍是以自己在 Figma 的權限登入,帶 scope 的授權目前不在規格內。
  14. Q&A:client 怎麼指定目標靠 audience URL(例如 mcp.figma.com),Okta 內設定該 app 涵蓋哪個 audience,Figma 也驗證 JWT。
  15. Q&A:IdP 支援現況目前只有 Okta 支援,且是 OIDC 型連線,SAML 之後會支援;Microsoft 還沒加,他們正在推動。
  16. Q&A:DCR 與 CIMD有聽眾提到某個 IdP 不支援 DCR;Garrett 說不支援時只能預先註冊 client,CIMD 是取代 DCR 的新標準,但生態系支援還少。

名詞

Cross-App Access(XAA)
讓身分供應商在 MCP client 與 server 之間當信任方,免去逐一同意的做法
IDJAG
Identity JWT Authorization Grant,XAA 所依據的規格,也指 IdP 發出、可跨服務使用的 token
Okta
Garrett 示範用的 IdP,目前唯一支援 XAA 的
IdP
身分供應商,公司員工 SSO 登入的來源
MCP client / server
這場的例子裡 client 是 Claude Code 與 Cursor,server 是 Figma 的 MCP
resource authorization server
負責驗證 IDJAG 並發 access token 的伺服器,與 Figma API 這個資源伺服器分開
SCIM
Garrett 提到的帳號管理機制,可完整撤銷存取權,但許多公司沒有使用
DCR
動態 client 註冊;不支援時要預先註冊 client
CIMD
用 metadata 文件預先定義 client 的新標準,Garrett 說它取代 DCR,但想不起縮寫全名
WorkOS
Garrett 任職的公司,提供 SSO 等 auth 服務,並已實作 XAA 的 client 端流程

相關影片 同屬「權限邊界」