授权许可
正如授权概述中所述,成功调用亚马逊广告 API 需要广告主明确授权客户端应用程序访问广告主的数据。
这个授权过程由 Login with Amazon (LwA) 服务在多个阶段处理。其中的第一个体现是授权码。
让我们简要回顾一下这些身份:
- 广告主: 亚马逊广告客户账户。
- 客户端: 已获准调用亚马逊广告 API 的 Login with Amazon 客户端应用程序。
回想之前的流程可知,在下面的图表中,授权码代表了特定广告主对特定客户端通过亚马逊广告 API 访问广告主数据和服务的明确同意。
授权码通过由 Login with Amazon 启用的同意请求生成。
Login with Amazon 同意请求
Login with Amazon 允许广告主通过 LwA 用户界面向客户端授予权限。
广告主在浏览器中访问特定的 URL 时,会提示其使用亚马逊凭据登录。然后广告主可以选择确认同意由创建请求的客户端访问广告主的亚马逊广告数据和服务。
- 有关 LwA 授权许可的更多常用信息,请参阅授权许可。
同意请求 URL
同意请求页面由亚马逊通过三个地区主机之一提供:
地区 | URL 前缀 |
---|---|
北美 (NA) | https://www.amazon.com/ap/oa |
欧洲 (EU) | https://eu.account.amazon.com/ap/oa |
远东 (FE) | https://apac.account.amazon.com/ap/oa |
请求通过唯一 URL 中的查询参数与特定的客户端应用程序和范围相关联。
参数 | 描述 |
---|---|
client_id | 客户端应用程序的客户端标识符。 |
范围 | OAuth 2.0 权限范围,描述应用程序对广告主账户的访问程度。 对于大多数亚马逊广告 API 的用途,将 scope 设置为 advertising::campaign_management 。对于 Data Provider API,将 scope 设置为 advertising::audiences 。 |
response_type | 指的是响应的类型。请始终设置为 code 。 |
redirect_uri | 允许访问后将广告主重定向到的 URL。 |
state | *可选。*用于在此请求和响应之间保持状态的不透明值。此值包含在重定向中。 |
code_challenge | *可选。*用于通过 Proof Key for Code Exchange (PKCE) 保护授权码的授予过程的安全性。 |
code_challenge_method | *可选。*用于对 code_challenge 参数的 code_verifier 进行编码的方法。 |
示例:
https://www.amazon.com/ap/oa?client_id=YOUR_LWA_CLIENT_ID&scope=advertising::campaign_management&response_type=code&redirect_uri=YOUR_RETURN_URL
广告主确认同意后,Login with Amazon 生成一个授权码,代表广告主允许客户端在给定范围内访问广告主的数据。
提示
出于安全原因,Login with Amazon 会建议在应用程序集成中使用
state
、code_challenge
和code_challenge_method
。有关这些参数的更多信息,请参阅授权请求。
获取授权码
在确认同意后,广告主将被重定向到请求 URL 中指定的 redirect_uri
。授权码将附加为查询参数。
例如,对于 https://www.amazon.com
的 redirect_uri
,完整的重定向将类似于:
https://www.amazon.com/?code=xxxxxxxxxxxxxxxxxxx&scope=advertising%3A%3Acampaign_management
code
参数即为授权码。
选择重定向 URI
redirect_uri
可以是您的 Login with Amazon 客户端允许的任何 URL。可以通过在 Amazon Developer 平台中编辑客户端的“Web设置”中的“允许的返回 URL”字段来调整允许的返回URL。有关设置返回 URL 的逐步说明,请参阅亚马逊的入门指导
。
由于授权码以查询参数的形式通过广告主的 Web 浏览器返回,因此一些 API 调用方可能希望将广告主重定向到一个以程序化方式处理授权码的页面。有关更多信息,请参阅动态重定向用户。
使用授权码
可以使用授权码来通过 Login with Amazon 检索访问令牌和刷新令牌。然后,访问令牌可用作调用亚马逊广告 API 的凭据。
授权码当前有效期为 5 分钟。
授权码在 LwA 主机范围内全球通用。
- 进一步了解检索访问令牌和刷新令牌。
授权许可概念
- 授权码代表广告主明确授予特定客户端在特定范围内访问广告主的数据和服务的权限。
- 客户端通过在由 Login with Amazon 主机提供的 URL 中包含参数来创建同意请求。
- 广告主可以通过在该 URL 中显示的 Login with Amazon 用户界面确认同意。
- 然后,广告主将被重定向到由客户端指定的 URL,其中授权码作为查询参数附加。
进一步了解
进一步了解本文档中各种概念的相关信息:
要遵循有关在亚马逊广告 API 中建立授权的分步指南,请参阅亚马逊的入门指导。