

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 實作 AWS.DeactivateUser 操作
<a name="deactive-user-op"></a>

## 使用者停用概觀
<a name="deactivate-user-overview"></a>

當客戶刪除其 AWS 客戶帳戶，或最終使用者想要取消其系統中帳戶 AWS 與客戶系統的連結時，需要停用提供的使用者存取權杖。在任一種使用案例受管整合中，都需要使用 C2C 連接器來促進此工作流程。

下圖說明從系統取消連結最終使用者帳戶

![使用者停用工作流程](https://docs.aws.amazon.com/zh_tw/iot-mi/latest/devguide/images/user-deactivate-workflow.png)


**使用者停用工作流程**

1. 使用者會在 AWS 客戶帳戶與與 C2C 連接器相關聯的第三方授權伺服器之間啟動取消連結程序。

1. 客戶透過 AWS IoT Device Management 的受管整合啟動刪除使用者的關聯。

1. 受管整合會使用 `AWS.DeactivateUser`操作界面，透過請求您的連接器啟動停用程序。

   1. 對於 OAuth 2.0，使用者的存取權杖包含在 標頭中。對於一般授權， AWS Secrets Manager 參考包含在 標頭中。

1. 您的 C2C 連接器接受請求並執行必要的停用步驟。對於 OAuth 2.0，這包括叫用您的授權伺服器來撤銷權杖及其提供的任何存取權。對於一般授權，這可能包括清除操作或通知您的第三方平台。

   1. 例如，執行 後，來自未連結使用者帳戶的事件不應再傳送至 受管整合`AWS.DeactivateUser`。

1. 您的授權伺服器或第三方平台會處理停用，並將回應傳回 C2C 連接器。

1. 您的 C2C 連接器會傳送 AWS IoT Device Management 的受管整合 ACK，表示已處理停用。

1. Managed Integrations 會刪除最終使用者擁有且與您的資源伺服器相關聯的所有資源。

1. 受管整合會傳送 ACK 給客戶，指出與您的系統相關的所有關聯都會遭到刪除。

1. 客戶會通知最終使用者其帳戶已從您的平台取消連結。

## `AWS.DeactivateUser`需求
<a name="deactivate-user-requirements"></a>

您的 C2C 連接器必須符合下列要求，才能成功處理使用者停用：
+ **請求處理：**C2C 連接器 Lambda 函數會從受管整合收到請求訊息，以處理`AWS.DeactivateUser`操作。
+ **字符撤銷/清除：**
  + **對於 OAuth 2.0：**C2C 連接器必須撤銷您授權伺服器內使用者提供的 OAuth 2.0 字符和對應的重新整理字符。
  + **對於一般授權：**C2C 連接器應執行第三方平台所需的任何必要清除或停用步驟。

**OAuth 2.0 請求：**

以下是連接器將針對 OAuth 2.0 收到的範例`AWS.DeactivateUser`請求：

```
{
     "header": {
         "auth": {                 
             "token": "ashriu32yr97feqy7afsaf",   
             "type": "OAuth2.0" 
         }
     },
     "payload":{
         "operationName": "AWS.DeactivateUser",
         "operationVersion": "1.0",
         "connectorId": "{{Your-connector-Id}}"
     }
}
```

**一般授權範例：**

```
{
     "header": {
         "auth": {
             "secretsManager": {
                 "arn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-abc123",
                 "versionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"
             },
             "type": "GeneralAuthorization"
         }
     },
     "payload":{
         "operationName": "AWS.DeactivateUser",
         "operationVersion": "1.0",
         "connectorId": "{{Your-connector-Id}}"
     }
}
```