[Alpha]{class="badge informative"}
edgeCredentials (服务器SDK)
edgeCredentials对象包含Server SDK用于向Adobe进行身份验证的OAuth服务器到服务器凭据。 SDK交换凭据以换取访问令牌,然后使用该令牌将事件发送到经过身份验证的Edge Network服务器API。 此属性是必需的。 Web SDK不使用此资产,因为浏览器不能将客户端密钥设为私有。
请参阅身份验证,了解如何在Adobe Developer Console中创建凭据以及SDK如何使用它。
属性 properties
属性
类型
必需
描述
clientId字符串
是
OAuth服务器到服务器凭据的客户端ID。 SDK还会在已验证请求的
x-api-key标头中发送它。clientSecret字符串
是
凭据的客户端密钥。
scopes字符串数组
是
在Adobe Developer Console中为您的凭据列出的范围。 至少包括一个范围。
imsHost字符串
否
颁发访问令牌的Adobe Identity Management服务(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返回的配置中将clientSecret替换为[REDACTED]。
recommendation-more-help
experience-platform-help-collection