

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

# 帳戶連結的 OAuth 2.0 要求
<a name="concepts-account-linking"></a>

每個 C2C 連接器都依賴 OAuth 2.0 授權伺服器來驗證最終使用者。透過此伺服器，最終使用者將其第三方帳戶與客戶的裝置平台連結。帳戶連結是最終使用者使用 C2C 連接器支援的裝置所需的第一個步驟。如需帳戶連結和 OAuth 2.0 中不同角色的詳細資訊，請參閱 [帳戶連結角色](roles-account-linking.md)。

雖然您的 C2C 連接器不需要實作特定商業邏輯來支援授權流程，但與您的 C2C 連接器相關聯的 OAuth2.0 授權伺服器必須符合 [OAuth 組態需求](#oauth-config-requirements)。

**注意**  
的受管整合 AWS IoT Device Management 僅支援具有授權碼流程的 OAuth 2.0。如需詳細資訊，請參閱 [RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1)。

帳戶連結是允許受管整合和連接器使用存取字符存取最終使用者裝置的程序。此字符提供具有最終使用者許可的 AWS IoT Device Management 受管整合，以便連接器可以透過 API 呼叫與最終使用者的資料互動。如需詳細資訊，請參閱[帳戶連結工作流程](account-linking-flow.md)。

建議您不要在任何日誌中記錄這些敏感字符。不過，如果它們存放在日誌中，我們建議您使用 CloudWatch Logs 資料保護政策來遮罩日誌中的字符。如需詳細資訊，請參閱[使用遮罩功能協助保護敏感日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html)。

的受管整合 AWS IoT Device Management 不會直接取得存取權杖；它透過授權碼授予類型這樣做。首先，AWS IoT Device Management 的受管整合必須取得授權碼。然後，它會交換存取字符和重新整理字符的程式碼。重新整理字符用於在舊的存取權杖過期時請求新的存取權杖。如果存取字符和重新整理字符都已過期，您必須再次執行帳戶連結流程。您可以使用 `StartAccountAssociationRefresh` API 操作來執行此操作。

**重要**  
發行的存取權杖必須針對每個使用者設定範圍，但不能針對 OAuth 用戶端設定範圍。字符不應提供用戶端下所有使用者的所有裝置的存取權。  
 授權伺服器必須執行下列其中一項操作：  
發出包含可擷取最終使用者 （資源擁有者） ID 的存取權杖，例如 JWT 權杖。
傳回每個發行存取權杖的最終使用者 ID。

## OAuth 組態需求
<a name="oauth-config-requirements"></a>

下表說明來自 OAuth 授權伺服器的必要參數，用於 AWS IoT Device Management 執行[帳戶連結](account-linking-flow.md)的受管整合：


**OAuth 伺服器參數**  

|  |  |  | 
| --- |--- |--- |
| 欄位 | 必要 | 註解 | 
| `clientId` | 是 | 應用程式的公有識別符。它用於啟動授權流程，並且可以公開共用。 | 
| `clientSecret` | 是 | 用來向授權伺服器驗證應用程式的私密金鑰，特別是在交換存取字符的授權碼時。它應該保持機密，而不是公開共用。 | 
| `authorizationType` | 是 | 此授權組態支援的授權類型。目前，「OAuth 2.0」是唯一支援的值。 | 
| `authUrl` | 是 | 第三方雲端供應商的授權 URL。 | 
| `tokenUrl` | 是 | 第三方雲端提供者的字符 URL。 | 
| `tokenEndpointAuthenticationScheme` | 是 | 「HTTP\_BASIC」或「REQUEST\_BODY\_CREDENTIALS」的身分驗證機制。HTTP\_BASIC 表示用戶端憑證包含在授權標頭中，而梯形訊號則包含在請求內文中。 | 

您必須設定您使用的 OAuth 伺服器，以便存取權杖字串值必須使用 UTF-8 字元集進行 Base64 編碼。