[Alpha]{class="badge informative"}

edgeCredentials (伺服器SDK)

edgeCredentials物件包含OAuth伺服器對伺服器認證,伺服器SDK會使用這些認證來向Adobe進行驗證。 SDK會交換存取權杖的認證,然後使用權杖將事件傳送至已驗證的Edge Network伺服器API。 這個屬性是必要的。 Web SDK不使用此屬性,因為瀏覽器無法對使用者端密碼保密。

請參閱驗證,瞭解如何在Adobe Developer Console中建立認證,以及SDK如何使用認證。

屬性 properties

屬性
類型
必要
說明
clientId
字串
是
OAuth伺服器對伺服器認證的​使用者端識別碼。 SDK也會以已驗證請求的x-api-key標題傳送它。
clientSecret
字串
是
您認證的​使用者端密碼。
scopes
字串陣列
是
在Adobe Developer Console中為您的認證列出的​範圍。 至少包含一個範圍。
imsHost
字串
無
發出存取權杖的Adobe Identity Management Service (IMS)主機。 預設為ims-na1.adobelogin.com。 只有在Adobe指示您變更時,才能進行變更。

程式碼範例

呼叫configure時設定edgeCredentials物件。 從環境變數或秘密管理員中讀取值,而不是將它們放在原始程式碼中。

await alloy.configure({
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  edgeCredentials: {
    clientId: process.env.ADOBE_CLIENT_ID,
    clientSecret: process.env.ADOBE_CLIENT_SECRET,
    scopes: process.env.ADOBE_SCOPES.split(",")
  }
});

在此範例中,ADOBE_SCOPES環境變數會保留以逗號分隔的範圍清單,例如Adobe Developer Console針對您的認證顯示的清單。

驗證和錯誤 errors

  • 如果edgeCredentials遺失,configure會以錯誤拒絕,指出SDK需要edgeCredentials。
  • 如果clientId、clientSecret或scopes遺失或空白,configure會以錯誤拒絕並命名遺失的屬性。
  • configure不會檢查認證是否有效。 SDK在首次傳送已驗證事件時要求存取權杖。 如果Adobe拒絕認證,則此方法會以訊息包含Failed to acquire an IMS access token的錯誤拒絕。

SDK在其偵錯記錄檔及getLibraryInfo傳回的設定中,以[REDACTED]取代clientSecret。

recommendation-more-help
experience-platform-help-collection