为Adobe Target API配置身份验证

Adobe Target管理员API(包括Recommendations Admin API)受身份验证保护,以确保只有授权用户使用它们来访问Adobe Target。 使用Adobe Developer Console管理所有Adobe Experience Cloud solutions的此身份验证,包括Adobe Target。

IMPORTANT
为了支持新的OAuth服务器到服务器凭据,本文中描述的服务帐户(JWT)凭据将被弃用。
服务帐户(JWT)凭据将继续工作到2025年1月1日。 您必须在2025年1月1日之前迁移应用程序或集成,才能使用新的OAuth服务器到服务器凭据。
有关迁移集成的更多信息和分步说明,请参阅​ Developer Console ​文档中的从服务帐户(JWT)凭据迁移到OAuth服务器到服务器凭据
有关设置新OAuth凭据的信息,请参阅​ Developer Console ​文档中的OAuth服务器到服务器凭据实施

以下是生成成功与Adobe Target API交互所需的旧版JWT身份验证令牌所需的初步步骤:

  1. 在Adobe Developer Console中创建项目(以前称为集成)。
  2. 将项目详细信息导出到Postman。
  3. 生成持有者访问令牌。
  4. 测试持有者访问令牌。

先决条件

资源
详细信息
Postman
为了成功完成这些步骤,请获取适用于您的操作系统的Postman应用程序。 Postman basic可在创建帐户时免费使用。 虽然使用Adobe Target API通常不是必需的,但Postman使API工作流更简单,并且Adobe Target提供了多个Postman收藏集以帮助执行其API并了解其操作方式。 本指南的其余部分假定您了解Postman的工作知识。 有关帮助,请参阅Postman文档
引用

在本指南的其余部分中,均假定您已熟悉以下资源:

创建Adobe I/O项目

在此部分中,您将访问Adobe Developer Console并为Adobe Target创建项目。 有关详细信息,请参考有关项目的文档。

<!—(1. 根据关于身份验证的文档生成私钥和公共证书。 // [//]: # (如的​ 步骤1 ​中所述)如何设置AdobeIO:身份验证 — 分步。 完成步骤1后,返回本指南并继续执行下面的步骤2。//此步骤的结果应该是创建private.key文件和certificate_pub.crt文件。 生成这两个文件后,请返回本指南。)—>

  1. Adobe Admin Console中,确保您的Adobe用户帐户已被授予Target的产品管理员开发人员级别访问权限。

  2. Adobe Developer Console中,选择要为其创建此集成的Experience Cloud Organization。 (请注意,您可能只能访问单个Experience Cloud Organization。)

    configure-io-target-createproject2.png

  3. 单击 Create new project

    configure-io-target-createproject3.png

  4. 单击​ Add API ​将REST API添加到您的项目以访问Adobe服务和产品。

    添加API

  5. 选择​ Adobe Target ​作为要与集成的Adobe服务。 单击显示的​ Next ​按钮。

    configure-io-target-createproject5

  6. 选择将公钥和私钥与您为Target创建的服务帐户集成关联的选项。 对于此示例,请选择​ Option 1: Generate a key pair ​并单击​ Generate keypair

    configure-io-target-createproject6

  7. 按照说明,记下自动下载的配置文件(config),其中包含您的私钥。 单击 Next

    configure-io-target-createproject7

  8. 在您的文件系统中,验证config的位置,这是在上一步中创建的压缩配置文件。 同样,此config文件包含您的私钥,稍后您将需要这些私钥。 文件系统中的确切位置可能与此处显示的位置不同。

    configure-io-target-createproject8

  9. 返回Adobe Developer Console,选择与您使用Adobe Recommendations的属性对应的产品配置文件。 (如果您未使用资产,请选择“默认Workspace”选项。) 单击 Save configured API

    configure-io-target-createproject9

  10. 单击​ Create Integration。 您应会收到一条临时消息,指示您的API已成功配置。

  11. 最后,将项目重命名为比原始Project 1更有意义的名称。 为此,请使用显示形式的导航路径导航到项目,单击​ Edit project ​以访问​ Edit Project ​模式窗口,然后重命名项目。

    configure-io-target-createproject11

NOTE
在此示例中,我们将项目命名为“Target集成”。 如果您预计使用项目的时间将超过Adobe Target,则可能需要相应地命名该项目。 例如,您可以选择将其命名为“AdobeAPI”或“Experience CloudAPI”,因为它可与Adobe Experience Cloud中的其他解决方案一起使用。

导出项目详细信息

现在您拥有了一个可用于访问Target的Adobe项目,您需要确保将该项目的详细信息与AdobeAPI请求一起发送。 要与多个AdobeAPI(包括多个Target API)交互,需要这些详细信息。 例如,集成详细信息包括Target管理员API所需的授权和身份验证信息。 因此,要将API与Postman结合使用,您需要将这些详细信息导入Postman。

可通过多种方式在Postman中指定项目的详细信息,但在本节中,我们利用了某些预建的功能和集合。 首先(在此部分中),您将把集成详情导出到Postman环境中。 接下来(在以下部分中),您将生成持有者访问令牌,以授予您访问必要Adobe资源的权限。

NOTE
有关适用于任何Experience Cloud解决方案(包括Target)的视频说明,请参阅将Postman与Experience PlatformAPI结合使用。 以下部分与Target API相关: 1. 创建Experience PlatformAPI并将其导出到Postman 2。 使用Postman生成访问令牌。 以下也提供了这些步骤。
  1. 仍在Adobe Developer Console中,导航以查看新项目的​ Service Account (JWT) ​凭据。 使用左侧导航或​ Credentials ​部分,如图所示。

    JWT1

    在​ Credential details ​中,请注意,您可以查看您的​ Public key(s)Client ID ​以及与您的服务帐户相关的其他信息。

    JWT1a

  2. 单击以导航到有关​ Adobe Target API的信息。 使用左侧导航或​ 连接的产品和服务 ​部分,如图所示。

    JWT2

  3. 单击​ Download for Postman > Service Account (JWT) ​可创建一个用于捕获Postman环境的身份验证信息的JSON文件。

    JWT3

    记下文件系统中的该JSON文件。

    JWT3a

  4. 在Postman中,单击齿轮图标以管理环境,然后单击​ Import ​以导入JSON文件(环境)。

    JWT4

  5. 选择您的文件并单击​ Open

    JWT5

  6. 在Postman 管理环境 ​模式中,单击新导入环境的名称以检查该环境。 (您的环境名称可能与此处显示的名称不同。 根据需要编辑名称。 它不一定与Adobe项目的名称匹配。)

    JWT6

  7. 注意CLIENT_SECRETAPI_KEY(以及其他变量)已预填充其值,这些值取自Adobe Developer Console中定义的集成。 (Postman CLIENT_SECRET变量应与Developer Console中显示的CLIENT SECRETAdobe凭据匹配,Postman中的API_KEY应与Developer Console中的CLIENT ID同样匹配。) 相反,注释PRIVATE_KEYJWT_TOKENACCESS_TOKEN为空。 让我们从提供PRIVATE_KEY值开始。

    JWT7

  8. 从您的文件系统打开config文件,然后打开private密钥文件。

    JWT8

  9. 选择并复制private密钥文件的全部内容。

    JWT9

  10. 在Postman中,将私钥值粘贴到​ INITIAL VALUE ​和​ CURRENT VALUE ​字段中。

    JWT10

  11. 单击​ Update,然后关闭Environments模式窗口。

生成持有者访问令牌

在此部分中,您生成持有者访问令牌,这是验证您与Adobe Target API的交互所必需的。 要生成持有者访问令牌,您需要将集成详细信息(在前面部分中建立)发送到AdobeIdentity Management服务(IMS)。 有几种方法可以实现这一点,但在本指南中,我们利用了包含预建IMS调用的Postman集合,该调用可让过程直接而轻松。 导入收藏集后,您可以根据需要重复使用它,以便不仅为Adobe Target,而且还为其他AdobeAPI生成新令牌。

  1. 导航到AdobeIdentity Management服务API示例调用

    令牌1

  2. 单击​ Adobe I/O Access Token Generation Postman collection

    令牌2

  3. 通过单击​ Raw ​获取此收藏集的原始JSON,然后将生成的JSON复制到剪贴板。 (或者,您可以将原始JSON另存为.json文件。)

    令牌3

  4. 在Postman中,通过粘贴并从剪贴板提交原始JSON来导入收藏集。 (或者,您可以上传已保存的.json文件。) 单击 Continue

    令牌4

  5. 在Adobe I/O访问令牌生成Postman集合中选择​ IMS: JWT Generate + Auth via User Token ​请求,确保选择了您的环境,然后单击​ Send ​以生成令牌。

    令牌5

    note note
    NOTE
    此持有者访问令牌的有效期为24小时。 需要生成新令牌时再次发送请求。
  6. 再次打开管理环境模式窗口,然后选择您的环境。

    令牌6

  7. 请注意,ACCESS_TOKENJWT_TOKEN值现已填充。

    令牌7

问题:我是否需要使用Adobe I/O访问令牌生成Postman集合来生成JSON Web令牌(JWT)和持有者访问令牌?

回答:否。 Adobe I/O访问令牌生成Postman集合可方便地在Postman中更轻松地生成JWT和持有者访问令牌。 或者,您可以使用Adobe Developer Console中的功能手动生成持有者访问令牌。

测试持有者访问令牌

在本练习中,您将通过发送一个API请求来使用新的持有者访问令牌,该请求将从您的Target帐户中检索活动列表。 成功的响应表示您的Adobe项目和身份验证正在按预期运行,以便使用该API。

  1. 导入Adobe Target 管理员API Postman收藏集。 按照所有提示操作,直到在Postman中导入收藏集为止。

    testtoken1

  2. 展开收藏集,并注意​ List activities ​请求。

    testtoken1

  3. 请注意,变量(如{{access_token}})最初未解析。 您可以通过多种方式解决此问题 — 例如,您可以定义名为{{access_token}}的新收藏集变量 — 但在本指南中,您将改为更改API请求以利用您之前使用的Postman环境。 这将使环境能够继续作为跨AdobeAPI共有的所有变量的单一、一致整合。

    testtoken2

  4. 键入以将{{access_token}}替换为{{ACCESS_TOKEN}}

    testtoken3

  5. 键入以将{{api_key}}替换为{{API_KEY}}

    testtoken4

  6. 键入以将{{tenant}}替换为{{TENANT_ID}}。 尚未识别注释{{TENANT_ID}}

    testtoken4

  7. 打开管理环境模式窗口,然后选择您的环境。

    JWT11

  8. 键入以添加新的{{TENANT_ID}}环境变量。 将租户ID值复制并粘贴到新TENANT_ID环境变量的​ INITIAL VALUE ​和​ CURRENT VALUE ​字段中。

    testtoken5

    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”。
  9. 在确保选择了正确的环境后,发送您的请求。 您应会收到包含活动列表的响应。

    testtoken6

现在您已验证Adobe身份验证,可以使用该身份验证与Adobe Target API(以及其他AdobeAPI)交互。 例如,您可以使用Recommendations API创建或管理推荐,也可以将其与Target投放API一起使用。

recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3