为Adobe Target API配置身份验证
Adobe Target管理员API(包括Recommendations Admin API)受身份验证保护,以确保只有授权用户使用它们来访问Adobe Target。 使用Adobe Developer Console管理所有Adobe Experience Cloud solutions的此身份验证,包括Adobe Target。
以下是生成成功与Adobe Target API交互所需的旧版JWT身份验证令牌所需的初步步骤:
- 在Adobe Developer Console中创建项目(以前称为集成)。
- 将项目详细信息导出到Postman。
- 生成持有者访问令牌。
- 测试持有者访问令牌。
先决条件
在本指南的其余部分中,均假定您已熟悉以下资源:
创建Adobe I/O项目
在此部分中,您将访问Adobe Developer Console并为Adobe Target创建项目。 有关详细信息,请参考有关项目的文档。
<!—(1. 根据关于身份验证的文档生成私钥和公共证书。 // [//]: # (如的 步骤1 中所述)如何设置AdobeIO:身份验证 — 分步。 完成步骤1后,返回本指南并继续执行下面的步骤2。//此步骤的结果应该是创建private.key
文件和certificate_pub.crt
文件。 生成这两个文件后,请返回本指南。)—>
-
在Adobe Admin Console中,确保您的Adobe用户帐户已被授予Target的产品管理员和开发人员级别访问权限。
-
在Adobe Developer Console中,选择要为其创建此集成的Experience Cloud Organization。 (请注意,您可能只能访问单个Experience Cloud Organization。)
-
单击 Create new project。
-
单击 Add API 将REST API添加到您的项目以访问Adobe服务和产品。
-
选择 Adobe Target 作为要与集成的Adobe服务。 单击显示的 Next 按钮。
-
选择将公钥和私钥与您为Target创建的服务帐户集成关联的选项。 对于此示例,请选择 Option 1: Generate a key pair 并单击 Generate keypair。
-
按照说明,记下自动下载的配置文件(
config
),其中包含您的私钥。 单击 Next。 -
在您的文件系统中,验证
config
的位置,这是在上一步中创建的压缩配置文件。 同样,此config
文件包含您的私钥,稍后您将需要这些私钥。 文件系统中的确切位置可能与此处显示的位置不同。 -
返回Adobe Developer Console,选择与您使用Adobe Recommendations的属性对应的产品配置文件。 (如果您未使用资产,请选择“默认Workspace”选项。) 单击 Save configured API。
-
单击 Create Integration。 您应会收到一条临时消息,指示您的API已成功配置。
-
最后,将项目重命名为比原始
Project 1
更有意义的名称。 为此,请使用显示形式的导航路径导航到项目,单击 Edit project 以访问 Edit Project 模式窗口,然后重命名项目。
导出项目详细信息
现在您拥有了一个可用于访问Target的Adobe项目,您需要确保将该项目的详细信息与AdobeAPI请求一起发送。 要与多个AdobeAPI(包括多个Target API)交互,需要这些详细信息。 例如,集成详细信息包括Target管理员API所需的授权和身份验证信息。 因此,要将API与Postman结合使用,您需要将这些详细信息导入Postman。
可通过多种方式在Postman中指定项目的详细信息,但在本节中,我们利用了某些预建的功能和集合。 首先(在此部分中),您将把集成详情导出到Postman环境中。 接下来(在以下部分中),您将生成持有者访问令牌,以授予您访问必要Adobe资源的权限。
-
仍在Adobe Developer Console中,导航以查看新项目的 Service Account (JWT) 凭据。 使用左侧导航或 Credentials 部分,如图所示。
在 Credential details 中,请注意,您可以查看您的 Public key(s)、Client ID 以及与您的服务帐户相关的其他信息。
-
单击以导航到有关 Adobe Target API的信息。 使用左侧导航或 连接的产品和服务 部分,如图所示。
-
单击 Download for Postman > Service Account (JWT) 可创建一个用于捕获Postman环境的身份验证信息的JSON文件。
记下文件系统中的该JSON文件。
-
在Postman中,单击齿轮图标以管理环境,然后单击 Import 以导入JSON文件(环境)。
-
选择您的文件并单击 Open。
-
在Postman 管理环境 模式中,单击新导入环境的名称以检查该环境。 (您的环境名称可能与此处显示的名称不同。 根据需要编辑名称。 它不一定与Adobe项目的名称匹配。)
-
注意
CLIENT_SECRET
和API_KEY
(以及其他变量)已预填充其值,这些值取自Adobe Developer Console中定义的集成。 (PostmanCLIENT_SECRET
变量应与Developer Console中显示的CLIENT SECRET
Adobe凭据匹配,Postman中的API_KEY
应与Developer Console中的CLIENT ID
同样匹配。) 相反,注释PRIVATE_KEY
、JWT_TOKEN
和ACCESS_TOKEN
为空。 让我们从提供PRIVATE_KEY
值开始。 -
从您的文件系统打开
config
文件,然后打开private
密钥文件。 -
选择并复制
private
密钥文件的全部内容。 -
在Postman中,将私钥值粘贴到 INITIAL VALUE 和 CURRENT VALUE 字段中。
-
单击 Update,然后关闭Environments模式窗口。
生成持有者访问令牌
在此部分中,您生成持有者访问令牌,这是验证您与Adobe Target API的交互所必需的。 要生成持有者访问令牌,您需要将集成详细信息(在前面部分中建立)发送到AdobeIdentity Management服务(IMS)。 有几种方法可以实现这一点,但在本指南中,我们利用了包含预建IMS调用的Postman集合,该调用可让过程直接而轻松。 导入收藏集后,您可以根据需要重复使用它,以便不仅为Adobe Target,而且还为其他AdobeAPI生成新令牌。
-
导航到AdobeIdentity Management服务API示例调用。
-
单击 Adobe I/O Access Token Generation Postman collection。
-
通过单击 Raw 获取此收藏集的原始JSON,然后将生成的JSON复制到剪贴板。 (或者,您可以将原始JSON另存为.json文件。)
-
在Postman中,通过粘贴并从剪贴板提交原始JSON来导入收藏集。 (或者,您可以上传已保存的.json文件。) 单击 Continue。
-
在Adobe I/O访问令牌生成Postman集合中选择 IMS: JWT Generate + Auth via User Token 请求,确保选择了您的环境,然后单击 Send 以生成令牌。
note note NOTE 此持有者访问令牌的有效期为24小时。 需要生成新令牌时再次发送请求。 -
再次打开管理环境模式窗口,然后选择您的环境。
-
请注意,
ACCESS_TOKEN
和JWT_TOKEN
值现已填充。
问题:我是否需要使用Adobe I/O访问令牌生成Postman集合来生成JSON Web令牌(JWT)和持有者访问令牌?
回答:否。 Adobe I/O访问令牌生成Postman集合可方便地在Postman中更轻松地生成JWT和持有者访问令牌。 或者,您可以使用Adobe Developer Console中的功能手动生成持有者访问令牌。
测试持有者访问令牌
在本练习中,您将通过发送一个API请求来使用新的持有者访问令牌,该请求将从您的Target帐户中检索活动列表。 成功的响应表示您的Adobe项目和身份验证正在按预期运行,以便使用该API。
-
导入Adobe Target 管理员API Postman收藏集。 按照所有提示操作,直到在Postman中导入收藏集为止。
-
展开收藏集,并注意 List activities 请求。
-
请注意,变量(如
{{access_token}}
)最初未解析。 您可以通过多种方式解决此问题 — 例如,您可以定义名为{{access_token}}
的新收藏集变量 — 但在本指南中,您将改为更改API请求以利用您之前使用的Postman环境。 这将使环境能够继续作为跨AdobeAPI共有的所有变量的单一、一致整合。 -
键入以将
{{access_token}}
替换为{{ACCESS_TOKEN}}
。 -
键入以将
{{api_key}}
替换为{{API_KEY}}
。 -
键入以将
{{tenant}}
替换为{{TENANT_ID}}
。 尚未识别注释{{TENANT_ID}}
。 -
打开管理环境模式窗口,然后选择您的环境。
-
键入以添加新的
{{TENANT_ID}}
环境变量。 将租户ID值复制并粘贴到新TENANT_ID
环境变量的 INITIAL VALUE 和 CURRENT VALUE 字段中。note note NOTE 租户ID与您的Target clientcode
不同。 登录Target时,URL中存在租户ID。 要获取租户ID,请登录到Adobe Experience Cloud,打开Target,然后单击Target卡片。 使用URL子域中所述的租户ID值。 例如,如果您在登录到Adobe Target时的URL是<https://mycompany.experiencecloud.adobe.com/...>
,则您的租户ID是“mycompany”。 -
在确保选择了正确的环境后,发送您的请求。 您应会收到包含活动列表的响应。
现在您已验证Adobe身份验证,可以使用该身份验证与Adobe Target API(以及其他AdobeAPI)交互。 例如,您可以使用Recommendations API创建或管理推荐,也可以将其与Target投放API一起使用。