# 驗證

> Index of the TerraLab docs for agents: [llms.txt](https://terra-lab.ai/docs/llms.txt). Every docs page is also served as markdown: add .md to its URL.

每次呼叫都需要 TerraLab 帳號，只有兩份公開文件例外：[`/v1/openapi.json`](https://mcp.terra-lab.ai/v1/openapi.json) 和 [`/v1/meta/pricing`](https://mcp.terra-lab.ai/v1/meta/pricing)。送出帳號憑證有兩種方式：程式碼用 API 金鑰，代理程式用 OAuth 2.1。

## API 金鑰

指令碼、後端服務和筆記本等無法開啟瀏覽器登入的場合，請使用金鑰。

1. 前往 [terra-lab.ai/login](https://terra-lab.ai/zh-TW/login) 登入。
2. 開啟 [儀表板，MCP](https://terra-lab.ai/zh-TW/dashboard/mcp)，然後選擇 **Advanced**、**API keys**。
3. 為金鑰命名、接受 API 條款，然後按 **Create key**。
4. 請立刻複製。金鑰以 `tlk_` 開頭，後面接 48 個十六進位字元，只會顯示一次：TerraLab 只儲存雜湊值，不會儲存金鑰本身。

把它放在 `Authorization` 標頭中送出：

```bash
curl https://mcp.terra-lab.ai/v1/me \
  -H "Authorization: Bearer $TERRALAB_API_KEY"
```

金鑰不會過期，一個帳號最多可持有 20 把有效金鑰。金鑰外洩或專案結束時，請在同一頁按 **Revoke**：之後再用該金鑰呼叫，會回應 `401`。使用金鑰發出的呼叫，會計入建立該金鑰的帳號。

請勿把金鑰放進版本控制、前端程式碼或螢幕截圖，改從環境變數或密碼管理工具讀取。

## 代理程式使用 OAuth 2.1

AI 代理程式以登入取代金鑰。代理程式第一次不帶 token 呼叫 `https://mcp.terra-lab.ai/mcp` 時，伺服器會回應 `401`，並在 `WWW-Authenticate` 標頭中指向它的 metadata，接著代理程式會在你的瀏覽器中開啟 TerraLab 登入頁。你只需核准一次，之後代理程式就會持有 token。

| 項目 | 值 |
| --- | --- |
| 受保護資源 metadata | `https://mcp.terra-lab.ai/.well-known/oauth-protected-resource` |
| 授權伺服器 | `https://terra-lab.ai` |
| 伺服器 metadata | `https://terra-lab.ai/.well-known/oauth-authorization-server` |
| 授權類型 | 搭配 PKCE（`S256`）的 authorization code，適用公開用戶端 |
| 用戶端註冊 | 動態註冊，或用戶端 ID metadata 文件 |
| Scope | `data` |
| Access token 有效期 | 1 小時，可用有效期 30 天的 refresh token 更新 |

大多數代理程式會自行處理這一切：你只需貼上伺服器網址。請見 [MCP 伺服器](https://terra-lab.ai/zh-TW/docs/mcp)。

OAuth access token 也能用在 REST API，以 Bearer token 的形式放在同一個標頭中。

## 中斷代理程式的連線

[儀表板，MCP](https://terra-lab.ai/zh-TW/dashboard/mcp) 會列出你的 **Connected apps**。按 **Disconnect** 會撤銷該應用程式的存取權：它的下一次呼叫會回應 `401` 與 `access_revoked`。

Source: https://terra-lab.ai/zh-TW/docs/authentication · Updated 2026-10-27
