

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

# 管理 AppFabric 以提高生產力 AppClients
<a name="manage-appclients"></a>


|  | 
| --- |
| 生產力的 The AWS AppFabric 功能為預覽版，可能會有所變更。 | 

您可以管理 AppFabric 以提高生產力 AppClients，以確保身分驗證和授權程序的順暢操作和維護。

## 取得 AppClient 的詳細資訊
<a name="get_appclient_details"></a>

使用 AppFabric `GetAppClient` API 操作來檢視 AppClient 的詳細資訊，包括檢查 AppClient 狀態。如需詳細資訊，請參閱[GetAppClient](API_GetAppClient.md)。

若要取得 AppClient 的詳細資訊，您至少必須擁有 `"appfabric:GetAppClient"` IAM 政策許可。如需詳細資訊，請參閱[允許存取以取得 AppClients 的詳細資訊](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-get-appclient)。

**請求欄位**
+ `appClientId` - AppClient ID。

**回應欄位**
+ `appName` - AppFabric 使用者入口網站的同意頁面上將向使用者顯示的應用程式名稱。
+ `customerManagedKeyIdentifier` （選用） - 用於加密資料之客戶受管金鑰 （由 KMS 產生） 的 ARN。如果未指定，則會使用 AWS AppFabric 受管金鑰。
+ `description` - 應用程式的描述。
+ `redirectUrls` - 授權後將最終使用者重新導向至 的 URI。您最多可以新增 5 個 redirectUrls。例如 `https://localhost:8080`。
+ `starterUserEmails` - 允許存取的使用者電子郵件地址，以接收洞見，直到驗證應用程式為止。僅允許一個電子郵件地址。例如 `anyuser@example.com`。
+ `verificationStatus` - AppClient 驗證狀態。
  + `pending_verification` - AppClient 的驗證仍在 AppFabric 進行。驗證 AppClient 之前，只有一個使用者 （在 中指定`starterUserEmails`) 可以使用 AppClient。
  + `verified` - AppFabric 已成功完成驗證程序，現在已完整驗證 AppClient。
  + `rejected` - AppFabric 已拒絕 AppClient 的驗證程序。 AppFabric 在驗證程序重新啟動並成功完成之前，其他使用者無法使用 AppClient。

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

如果動作成功，則服務傳回 HTTP 200 回應。

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8080"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## 列出 AppClients
<a name="list_appclients"></a>

使用 AppFabric `ListAppClients` API 操作來檢視 AppClients 的清單。AppFabric 每個 僅允許一個 AppClient AWS 帳戶。這可能會在未來變更。如需詳細資訊，請參閱[ListAppClients](API_ListAppClients.md)。

若要列出 AppClients，您至少必須擁有 `"appfabric:ListAppClients"` IAM 政策許可。如需詳細資訊，請參閱[允許存取列出 AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-list-appclient)。

**請求欄位**
+ 沒有必要欄位。

**回應欄位**
+ `appClientARN` - 包含 AppClient ID 的 Amazon Resource Name (ARN)。例如，AppClient ID 為 `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`。
+ `verificationStatus` - AppClient 驗證狀態。
  + `pending_verification` - AppClient 的驗證仍在 AppFabric 進行。驗證 AppClient 之前，只有一個使用者 （在 中指定`starterUserEmails`) 可以使用 AppClient。
  + `verified` - AppFabric 已成功完成驗證程序，現在已完整驗證 AppClient。
  + `rejected` - AppFabric 已拒絕 AppClient 的驗證程序。 AppFabric 在驗證程序重新啟動並成功完成之前，其他使用者無法使用 AppClient。

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients
```

如果動作成功，則服務傳回 HTTP 200 回應。

```
200 OK

{
    "appClientList": [
        {
            "appClientArn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "verificationStatus": "pending_verification"
        }
    ]
}
```

## 更新 AppClient
<a name="update_appclient"></a>

使用 AppFabric `UpdateAppClient` API 操作來更新映射至 AppClient 的 redirectUrls。如果您需要變更任何其他參數，例如 AppName、starterUserEmails 或其他參數，您必須刪除 AppClient 並建立新的參數。如需詳細資訊，請參閱[UpdateAppClient](API_UpdateAppClient.md)。

若要更新 AppClient，您至少必須擁有 `"appfabric:UpdateAppClient"` IAM 政策許可。如需詳細資訊，請參閱[允許存取以更新 AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient)。

**請求欄位**
+ `appClientId` （必要） - 您要更新 redirectUrls 的 AppClient ID。
+ `redirectUrls` （必要） - redirectUrls 的更新清單。您最多可以新增 5 個 redirectUrls。

**回應欄位**
+ `appName` - AppFabric 使用者入口網站的同意頁面上將向使用者顯示的應用程式名稱。
+ `customerManagedKeyIdentifier` （選用） - 用於加密資料之客戶受管金鑰 （由 KMS 產生） 的 ARN。如果未指定，則會使用 AWS AppFabric 受管金鑰。
+ `description` - 應用程式的描述。
+ `redirectUrls` - 授權後將最終使用者重新導向至 的 URI。例如 `https://localhost:8080`。
+ `starterUserEmails` - 允許存取的使用者電子郵件地址，以接收洞見，直到驗證應用程式為止。僅允許一個電子郵件地址。例如 `anyuser@example.com`。
+ `verificationStatus` - AppClient 驗證狀態。
  + `pending_verification` - AppClient 的驗證仍在 AppFabric 進行。驗證 AppClient 之前，只有一個使用者 （在 中指定`starterUserEmails`) 可以使用 AppClient。
  + `verified` - AppFabric 已成功完成驗證程序，現在已完整驗證 AppClient。
  + `rejected` - AppFabric 已拒絕 AppClient 的驗證程序。 AppFabric 在驗證程序重新啟動並成功完成之前，其他使用者無法使用 AppClient。

```
curl --request PATCH \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
  --data '{
    "redirectUrls": ["https://localhost:8081"]
}'
```

如果動作成功，則服務傳回 HTTP 200 回應。

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8081"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## 刪除 AppClient
<a name="delete_appclient"></a>

使用 AppFabric `DeleteAppClient` API 操作刪除您不再需要的任何 AppClients。如需詳細資訊，請參閱[DeleteAppClient](API_DeleteAppClient.md)。

若要刪除 AppClient，您至少必須擁有 IAM `"appfabric:DeleteAppClient"` 政策許可。如需詳細資訊，請參閱[允許存取以刪除 AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-delete-appclient)。

**請求欄位**
+ `appClientId` - AppClient ID。

**回應欄位**
+ 沒有回應欄位。

```
curl --request DELETE \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

如果動作成功，則服務會送回具有空 HTTP 主體的 HTTP 204 回應。

## 重新整理最終使用者的字符
<a name="refresh_token"></a>

AppClient 為最終使用者取得的權杖可以在到期時重新整理。您可以使用 [權杖](API_Token.md) API 搭配 grant\$1type 來完成此操作`refresh_token`。當 grant\$1type 為 時，將傳回`refresh_token`要使用的 做為字符 API 回應的一部分`authorization_code`。預設過期時間為 12 小時。若要呼叫重新整理 API，您必須擁有 IAM `"appfabric:Token"` 政策許可。如需詳細資訊，請參閱[權杖](API_Token.md)及[允許存取以更新 AppClients](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient)。

**請求欄位**
+ `refresh_token` （必要） - 從初始`/token`請求收到的重新整理字符。
+ `app_client_id` （必要） - 為 建立的 AppClient 資源 ID AWS 帳戶。
+ `grant_type` （必要） - 這必須是 `refresh_token`。

**回應欄位**
+ `expires_in` - 字符過期前多久。預設過期時間為 12 小時。
+ `refresh_token` - 從初始 / 權杖請求收到的重新整理權杖。
+ `token` - 從初始 / 權杖請求收到的權杖。
+ `token_type` - 值為 `Bearer`。
+ `appfabric_user_id` - AppFabric 使用者 ID。這只會針對使用 `authorization_code`授予類型的請求傳回。

```
curl --location \
"https://appfabric.<region>.amazonaws.com/oauth2/token" \
--header "Content-Type: application/json" \
--header "X-Amz-Content-Sha256: <sha256_payload>" \
--header "X-Amz-Security-Token: <security_token>" \
--header "X-Amz-Date: 20230922T172215Z" \
--header "Authorization: AWS4-HMAC-SHA256 ..." \
--data "{
    \"refresh_token\": \"<refresh_token>",
    \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\",
    \"grant_type\": \"refresh_token\"
}"
```

如果動作成功，則服務傳回 HTTP 200 回應。

```
200 OK

{
    "expires_in": 43200,
    "token": "apkaeibaerjr2example",
    "token_type": "Bearer",
    "appfabric_user_id" : "${UserID}"
}
```