文件
OpenConnector 憑證、Runtime Token 與 OAuth
了解自架 OpenConnector 的應用程式憑證、runtime 存取權限、OAuth 回呼和具名連線設定。
原始碼核對日期:2026-09-09. 範例已依連結中的原始碼版本核對,不代表已通過實際上游 API 驗證;你部署的版本可能不同。
區分 runtime 存取權限與應用程式憑證
管理員憑證保護主控台和 /api 端點,Runtime Token 授權 /v1 和 /mcp 用戶端。應用程式憑證屬於已連接的應用程式帳號,並保存在 runtime 內部;這些憑證不能互相替代。
註冊自己的 OAuth 應用程式
自架時,向服務供應商註冊 OAuth 應用程式,並從 /api/oauth/configs 複製準確的 expectedRedirectUri。設定遠端回呼前,先將 OOMOL_CONNECT_ORIGIN 設為公開存取來源網址。依工作流程需求選擇授權範圍。
選擇要使用的帳號連線
不指定別名時使用供應商的預設連線。使用 x-oo-connector-alias 選擇具名連線;Runtime Token 的連線授權可能限制用戶端可使用的帳號。
持久保存並保護憑證
Docker 映像檔將本地 runtime 資料放在 /app/data,應掛載持久化磁碟區。使用 OOMOL_CONNECT_ENCRYPTION_KEY 加密儲存憑證,並妥善保存還原所需的金鑰;公開部署前請閱讀部署指南。
完成 OAuth 帳號連線
- 先將 OOMOL_CONNECT_ORIGIN 設定為瀏覽器存取的位址。讀取 /api/oauth/configs,將對應服務的 expectedRedirectUri 完整填入 OAuth 應用程式。啟用管理端驗證時,請附上管理端 Bearer 權杖。
- 在本地控制台儲存服務的 OAuth Client ID 和 Secret。依需求從服務宣告的 scopes 中選擇子集,發起授權,並在服務提供者的瀏覽器頁面核准存取。
- 回呼完成後,檢查 /api/connections,確認帳號身分和連線名稱,再呼叫 Action。具名連線必須事先存在,選擇別名不會自動建立連線。
下方第一個請求使用管理端權杖檢查帳號連線,第二個請求使用執行環境權杖和既有的 work 連線呼叫唯讀 Action。請替換成自己的連線名稱;使用預設連線時省略別名標頭。
curl -s http://localhost:3000/api/connections \
-H "Authorization: Bearer $OOMOL_CONNECT_ADMIN_TOKEN"curl -s -X POST \
http://localhost:3000/v1/actions/github.get_current_user \
-H "Authorization: Bearer $OOMOL_CONNECT_RUNTIME_TOKEN" \
-H 'x-oo-connector-alias: work' \
-H 'content-type: application/json' \
-d '{"input":{}}'理解呼叫結果
HTTP 執行環境回應包含 success、message、data 和 meta。請檢查 success 及 Action 輸出 Schema,不要只看 HTTP 狀態碼。執行中繼資料包含 executionId 時,可用來定位已遮蔽敏感資訊的執行記錄。下方僅展示回應結構,並非真實 API 呼叫結果。
{
"success": true,
"message": "OK",
"data": {},
"meta": {}
}呼叫失敗時如何排查
- 驗證失敗時,先核對端點和憑證類型:管理端憑證用於 /api,執行環境 Bearer 權杖用於 /v1 和 /mcp。服務提供者的 API Key 不能取代執行環境權杖。
- 權限遭拒時,檢查 Action 所需 scopes、執行環境 Action 規則和連線授權。權杖有效也不代表有權使用所選帳號。
- 結果為空或資源缺失時,檢查連線帳號及其對目標資源的存取權限。完成授權不代表能存取所有工作區、頻道或文件。
- 重試前先檢查錯誤與執行記錄。對於會修改服務資料的 Action,先確認操作是否已完成,不要盲目重複請求。