> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API 認證授權

> API 端口的使用者管理和身分驗證選項。

## 使用者與身分驗證

知行之橋使用 OAuth 2.0 和基於 authtoken 的身分驗證來控制每個使用者對 API 的存取。

Authtoken 是唯一的、隨機生成的識別碼，使用者可以使用它向 API 進行身分驗證。Authtoken 還代表使用者當前的權限。Authtoken 允許使用任何主要的身分驗證方案進行連線。例如，要使用 HTTP Basic 身分驗證，請在 User 訊息頭中設定使用者名稱，並在 Password 訊息頭中設定使用者相應的 authtoken。有關對 API 進行身分驗證的更多資訊，請參閱[身分驗證](#驗證)。

OAuth 2.0 為需要管理權杖生命週期或與外部應用程式整合的用戶端提供了更結構化的身分驗證流程。知行之橋支援用戶端憑證授權型別，該型別適用於無需使用者互動的伺服器到伺服器整合。OAuth 2.0 用戶端透過向存取 URL 提交其用戶端憑證來取得短期存取權杖，而非直接使用靜態 authtoken 進行身分驗證。

### 新增使用者

要新增使用者，請導航到端口的**使用者**索引標籤，然後單擊**新增**。在**設定**對話方塊中，輸入以下資訊：

| 欄位     | 描述                                                                                             |
| ------ | ---------------------------------------------------------------------------------------------- |
| **名稱** | 輸入用於 HTTP 身分驗證的使用者名稱。                                                                          |
| **啟用** | 指示使用者是否處於活躍或非活躍狀態。                                                                             |
| **操作** | 選擇允許使用者存取的 HTTP 方法：GET、POST、PUT/PATCH/MERGE 或 DELETE。它們分別對應於 SELECT、INSERT、UPDATE 和 DELETE 語句。 |

點選**身分驗證**索引標籤以新增 authtoken 和 OAuth 2.0 的詳細資訊。

| 欄位                | 描述                                                  |
| ----------------- | --------------------------------------------------- |
| **Authtoken**     | 系統生成的 authtoken。請務必在儲存使用者之前將其複製到安全位置，因為之後不會再顯示。     |
| **每小時最大請求數**      | 取消選中**無限請求**以設定該使用者每小時的最大請求數限制。                     |
| **每小時最大並行數**      | 取消選中**無限請求**以設定可以同時傳送的最大請求數限制。                      |
| **授權型別**          | OAuth 2.0 授權型別，決定用戶端應用程式如何取得存取權杖。**用戶端憑證**是當前唯一的選項。 |
| **Client Id**     | 系統生成的用戶端 ID 權杖。                                     |
| **Client Secret** | 系統生成的用戶端金鑰。請務必在儲存使用者之前將其複製到安全位置，因為之後不會再顯示。          |
| **Access URL**    | 用戶端應用程式使用配置的憑證請求存取權杖的端點 URL。                        |

<Note>
  使用者特定的設定會覆蓋伺服器範圍的 API 限制設定。使用者設定之一的空值會使用伺服器預設值。
</Note>

### 配置使用者資料庫

知行之橋預設將使用者資訊儲存在 SQLite 資料庫中。也可以將使用者資訊儲存到所選的資料庫中。如果使用嵌入式伺服器，請在 Web.config 檔案的 `connectionStrings` 元素中指定快取資料庫的連接字串。否則，請參閱託管應用程式的伺服器文件。

## 驗證

使用者透過向請求提供 authtoken 來存取 API 資源。可以在[使用者](./api-config#users-tab)配置索引標籤上管理使用者、authtoken 和 OAuth 2.0 憑據。

使用者呼叫 API 之前，還需要設定可信連線 IP 地址。這些設定可在[伺服器](./api-config#users-tab)配置索引標籤上找到。預設情況下，所有 IP 地址都受到限制。

### 在基本身分驗證中使用 Authtoken

使用基本身分驗證時，輸入使用者的 authtoken 作為密碼。

### 在 HTTP 訊息頭中使用 Authtoken

新增 HTTP 訊息頭 `x-cdata-authtoken`，將所需的 authtoken 作為 HTTP 請求的一部分。

### 使用 Authtoken 作為查詢字串參數

要允許端口在查詢字串參數中傳遞 authtoken，請開啟 API 端口設定窗格的**伺服器**索引標籤，然後在**進階設定**部分中選擇**允許在 URL 中使用 Authtoken**。

啟用此功能後，可以將 authtoken 指定為 `@authtoken` 參數的值，該參數可以作為 HTTP 表單釋出資料或查詢參數的一部分提供。
