為 OpenConnector 建立 Microsoft OAuth app
當 OpenConnector 需要連接 Outlook、OneDrive 或 Excel 等 Microsoft Graph provider 時,使用 Microsoft Entra app registration。
OpenConnector services
| Service ID | Provider | Extra client field |
|---|---|---|
outlook | Outlook | tenant |
one_drive | OneDrive | tenant |
excel | Excel | tenant |
tenant 是 authorization 和 token URL 中使用的 Microsoft identity platform tenant segment。常見值包括 common、organizations、consumers 或具體 tenant ID。
前置條件
- 一個正在運行的 OpenConnector runtime。
- 可以存取 Microsoft Entra admin center 或 Azure app registrations。
- 有權限註冊 app 和建立 client secret。
- 使用者在瀏覽器中開啟的 OpenConnector origin,例如
http://localhost:3000或https://connect.example.com。
第 1 步:確定 OpenConnector callback URL
在 OpenConnector origin 後拼接 /oauth/callback,得到 callback URL。本地測試使用 http://localhost:3000/oauth/callback。公開部署時,請先設定 OOMOL_CONNECT_ORIGIN,重新啟動 OpenConnector 後使用公開 callback URL,例如 https://connect.example.com/oauth/callback。
第 2 步:註冊 Microsoft app
在 Microsoft Entra admin center 中:
- 開啟 App registrations。
- 建立新的 registration。
- 選擇適合目標使用者的 supported account type。
- 新增一個 Web redirect URI,值為 OpenConnector 的準確 callback URL。
- 註冊 app。
- 開啟 Certificates & secrets,建立 client secret。
- 開啟 API permissions,新增 OpenConnector service 需要的 delegated Microsoft Graph permissions。
Microsoft 官方文件見 Register an application with the Microsoft identity platform。Microsoft 授權碼流程要求 auth request 裡的 redirect URI 符合已註冊 redirect URI。
第 3 步:複製 client values
| Microsoft 欄位 | OpenConnector 欄位 |
|---|---|
| Application client ID | clientId |
| Client secret value | clientSecret |
| Tenant segment | extra.tenant |
建立 client secret 後立刻複製 secret value。Microsoft 後續不會再次顯示完整 secret value。
第 4 步:在 OpenConnector 中儲存 client
OpenConnector 的 Microsoft providers 需要額外的 tenant 值。請使用能在 OAuth client 表單中顯示 tenant 欄位的 OpenConnector 主控台版本,再按本文繼續設定。
- 開啟 OpenConnector Web 主控台,例如
http://localhost:3000。 - 開啟 Providers,選擇 Outlook、OneDrive 或 Excel。
- 點擊 Configure OAuth Client 或 Edit OAuth Client。
- 貼上 Microsoft application client ID 和 client secret value。
- 在 Tenant 中填寫
common、organizations、consumers或你的 tenant ID。 - 點擊 Save OAuth Client。
設定 one_drive 或 excel 時,在對應 provider 頁面重複這些步驟。
第 5 步:連接並測試
儲存 OAuth client config 後,在 Microsoft provider 頁面點擊 Connect。登入 Microsoft 帳號,批准 consent,回到 OpenConnector,並確認 provider 頁面顯示帳號已連接。
執行 Microsoft Graph action 前,先查看主控台裡的 action 詳情。如果你的 catalog 版本沒有 outlook.list_messages,請選擇該 provider 目前顯示的其他讀取 action。
排查建議
| 現象 | 檢查項 |
|---|---|
| Microsoft 提示 redirect URI 無效 | 在 app registration 中新增準確的 <openconnector-origin>/oauth/callback URL,平台類型選擇 Web。 |
| 目標使用者無法登入 | 檢查 app 的 supported account type,以及 OpenConnector 儲存的 tenant 值。 |
| 需要 admin consent | 某些 Microsoft Graph permissions 或 tenant policy 要求管理員同意,請讓 tenant admin 審核 app。 |
| Token request 失敗 | 確認儲存了目前 client secret value;secret ID 只用於識別這條 secret 記錄。 |
| Action 提示權限不足 | 新增所需 delegated API permissions,完成 consent,然後重新連接 Microsoft 帳號。 |
Wanta