---
title: 以客戶身分登入
description: 以特定客戶身分開啟客戶 portal 一小時以重現問題 — 包含條件、防護措施，以及哪些功能會被封鎖與記錄。
url: https://nexcmp.com/zh-tw/docs/customers/login-as/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# 以客戶身分登入 {#log-in-as-a-customer}

> **管理後台位置：**Customers › Customers › List › a customer › header button **Impersonate**（`/customers/<id>`）。

## 功能 {#what-it-does}

**Impersonate**（以該身分登入）讓支援管理員能以客戶完全相同的視角檢視 portal，以重現問題或協助處理訂單。工作階段持續一小時，且與一般工作階段明確區隔：所有可能授予帳戶永久存取權的功能都會被封鎖，且每次使用都會留下紀錄。

## 需求 {#requirements}

| 項目 | 需求 |
|---|---|
| 角色 | 已登入管理主控台的管理員。 |
| 客戶 | 帳戶必須為 **active**。已鎖定或已刪除的帳戶會回覆「帳戶未啟用」(HTTP 409)。 |
| 原因 | 必須填寫原因；該原因會寫入稽核記錄。 |
| 瀏覽器 | 請允許管理員位址彈出視窗：portal 會在新視窗中開啟。 |

## 步驟 {#steps}

1. 開啟 **Customers › List** 並點擊該客戶。
2. 點擊 **Impersonate**。對話框會說明客戶的站台將以該客戶身分開啟一小時，且所有動作都會被稽核。
3. 輸入**原因**（例如「Ticket 1234 — 無法建立 VM」）並點擊 **Open app**。
4. 新視窗會在客戶的站台上開啟並顯示含有 `?impersonated=1` 的儀表板。如果瀏覽器封鎖了視窗，請允許彈出視窗後再次點擊。

![填入原因欄位的 Impersonate 對話框](https://nexcmp.com/zh-tw/docs/images/customers/login-as-01-dialog.webp)

對於經銷商的客戶，視窗會在**經銷商自己的網域**上開啟，因為該連結僅適用於客戶自己的站台。

## 運作原理 {#how-it-works}

1. 管理員動作會建立一個有效期為一小時的**單次使用權杖**，並將 `customer.login_as`（管理員、IP、原因、站台）寫入稽核記錄。
2. 新視窗會開啟 `https://<site>/v1/portal/impersonate/<token>`。第一次請求僅會顯示一個小型頁面，且**不會**消耗權杖（避免瀏覽器預先提取消耗掉）；接著頁面會透過 POST 進行確認。
3. POST 會消耗該權杖。第二次使用，或在一小時後使用，會回覆「Impersonation 連結已過期或已被使用」。
4. NexCMP 會建立一個持續 **一小時** 的客戶工作階段（一般工作階段持續 30 天），以方法 `impersonate` 記錄登入條目，並記錄 `customer.login_as.used`。
5. 此權杖僅在客戶自己的站台上有效；在其他主機上會回覆 404。

## 模擬工作階段中封鎖的項目 {#what-is-blocked-in-an-impersonated-session}

任何提供超過一小時存取權限或變更客戶自身安全設定的操作，都會傳回 HTTP 403 `impersonate_forbidden`：

| 已封鎖 | 原因 |
|---|---|
| 變更密碼、TOTP、連結或取消連結 Google/GitHub、編輯通行密匙 | 客戶自身的憑證 |
| 刪除帳戶 | 不可逆 |
| 建立或編輯 **API keys** | 長期存取權限 |
| 批准 CLI、桌面或 MCP 登入（裝置連結） | 長期存取權限 |
| 建立 Kubernetes 存取權、S3 金鑰、SSH 金鑰、root 密碼、主控台共用連結、VPN 或代理伺服器憑證 | 生命週期超出工作階段的機密 |
| 兌換加值代碼 | 金錢活動 |
| 提領或變更推薦獎金的佣金發放 | 資金離開系統 |
| 編輯 AI 金鑰、預算或警示電子郵件 | 客戶設定 |

其他所有功能均可正常運作：您可以讀取頁面、建立或管理 VM、下單等等。操作會以客戶的身分執行並花費客戶的錢；上述的稽核記錄可用以證明該工作階段背後是由管理員執行。

## 驗證 {#verify}

1. 模擬測試客戶。入口網站隨即開啟並顯示該客戶的資料。
2. 嘗試變更密碼：您會收到「forbidden」（模擬）。
3. 在 **System › Logs › Admin actions** 中，尋找包含您的姓名、原因與網站的 `customer.login_as`，後面接著 `customer.login_as.used`。
4. 關閉視窗並重新開啟相同的連結：「link expired or already used」。

## 限制與注意事項 {#limits-notes}

- 一小時限制為固定值（3600 秒）。若要繼續，請再次執行模擬。
- 建議以讀取與重現為主；除非客戶要求，否則請避免會花費金錢的操作。
- 使用客戶頁面上的 **Revoke sessions** 提早撤銷工作階段（這也會將客戶登出）。
- 經銷商擁有自己的 **Sign in to partner console** 模擬功能（60 分鐘），位於經銷商選單中；請參閱 [Resellers](https://nexcmp.com/zh-tw/docs/customers/resellers/)。

## 故障排除 {#troubleshooting}

| 症狀 | 原因 | 修正方式 |
|---|---|---|
| 「帳戶未啟用」 | 帳戶已鎖定或刪除 | 請先解鎖，或改為查看客戶頁面。 |
| 瀏覽器封鎖視窗 | 彈出視窗封鎖程式 | 允許管理員位址的彈出視窗，然後再試一次。 |
| 「連結已失效或已被使用」 | 一小時限制或重複使用 | 再次執行模擬。 |
| 開啟時顯示 "Not found" | 連結在錯誤的主機上使用 | 請使用對話方塊開啟的視窗；請勿將連結貼到其他地方。 |
| 操作顯示 "forbidden" | 在模擬工作階段中遭到封鎖 | 請要求客戶執行，或使用管理員畫面。 |
