

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

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

受管整合需要 `AWS.ActivateUser`操作， AWS IoT Device Management 才能從最終使用者擷取使用者識別符。對於 OAuth 2.0， 的受管整合 AWS IoT Device Management 會在請求標頭中傳遞 OAuth 字符。對於一般授權，適用於 的受管整合 AWS IoT Device Management 將傳遞 AWS Secrets Manager 參考。連接器必須在回應承載中包含全域唯一使用者識別符。

下列清單概述連接器協助成功`AWS.ActivateUser`流程的需求：
+ 您的 C2C 連接器 Lambda 可以處理來自 受管整合`AWS.ActivateUser`的操作請求訊息 AWS IoT Device Management。
+ 您的 C2C 連接器 Lambda 可以判斷唯一的使用者識別符。對於 OAuth 2.0，如果它是 JWT 字符，或從授權伺服器請求，則可以從字符本身擷取。對於一般授權，這可能會從您的第三方平台擷取或從授權內容衍生。

**步驟 1：受管整合會叫用您的 Lambda**

的受管整合會根據授權類型，使用下列其中一個承載 AWS IoT Device Management 調用 C2C 連接器 Lambda：

**OAuth 2.0 請求：**

```
{
   "header": {
        "auth": {                 
            "token": "ashriu32yr97feqy7afsaf",  
            "type": "OAuth2.0"
        }
   },
   "payload": {
        "operationName": "AWS.ActivateUser",
        "operationVersion": "1.0.0",
        "connectorId": "{{Your-Connector-ID}}"
   }
}
```

**一般授權請求：**

```
{
   "header": {
        "auth": {
            "secretsManager": {
                "arn": "string",
                "versionId": "string"
            },
            "type": "GeneralAuthorization"
        }
   },
   "payload": {
        "operationName": "AWS.ActivateUser",
        "operationVersion": "1.0.0",
        "connectorId": "{{Your-Connector-ID}}"
   }
}
```

**步驟 2：判斷使用者 ID**

C2C 連接器會決定要包含在`AWS.ActivateUser`回應中的使用者 ID。
+ **對於 OAuth 2.0：這是從字符或透過查詢您的授權伺服器擷取的。**
+ **對於一般授權：**這可能會從您的第三方平台擷取，或從授權內容衍生。

**步驟 3：使用使用者識別符回應**

C2C 連接器會回應`AWS.ActivateUser`操作 Lambda 調用，包括預設承載以及 `userId` 欄位內對應的使用者識別符。

**回應格式：**

```
{
     "header": {
          "responseCode":200
     },
     "payload": {
          "responseMessage": "Successfully activated user with connector-id `{{Your-Connector-Id}}.”,
          "userId": "123456" 
     }
}
```