主页文档代码示例API 参考公告模型发行说明常见问题GitHub视频
开发者中心API 状态支持
文档
开发者中心API 状态支持

续订销售伙伴应用商店授权工作流程

使用销售合作伙伴应用商店续订和重新授权应用程序。

要允许用户每年从 “管理您的应用程序” 页面(在卖家平台或供应商平台上)重新授权您的应用程序,您必须设置 OAuth 工作流程。如果您希望用户在您的应用程序中授权新角色,则还需要 OAuth 工作流程。

要在您的应用程序中创建新的授权,请使用 销售合作伙伴 Appstore 授权工作流程 要么 网站授权工作流程

第 1 步:从“管理我的应用程序”页面重新授权

  1. 登录卖家平台或供应商中心并导航至 Manage Your Apps
  2. 找到您要重新授权的应用程序。
  3. 选择 Re-authorize
  4. 查看并接受您的应用程序请求的数据访问权限。
  5. 选择 Login to [your application name] now

亚马逊使用以下查询参数将您的登录 URI(您在使用开发者账户创建应用程序客户端时提供的)加载到浏览器中:

参数描述
amazon_callback_uri用于将浏览器重定向到亚马逊的 URI。
amazon_state亚马逊生成的状态值,用于防范跨站点请求伪造攻击。
selling_partner_id授权您应用程序的销售伙伴的标识符。

示例

https://d2yzyfnnpjylxu.cloudfront.net/index.html?amazon_callback_uri=https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57&amazon_state=amazonstateexample&selling_partner_id=A3FHEXAMPLEYWS

📘

DRAFT + PUBLISHED

如果应用程序处于 DRAFT 状态,亚马逊会包含version=beta 参数。如果应用程序处于 PUBLISHED 状态,则亚马逊不包含该参数。

第 2 步:登录您的网站

请参阅 销售合作伙伴应用商店授权工作流程 以获取指令。

第 3 步:亚马逊向您发送授权信息

请参阅 销售合作伙伴应用商店授权工作流程 以获取指令。

第 4 步:将 LWA 授权码换成 LWA 刷新令牌

📘

注意

注意:您可以选择使用适用于 JavaScript 的“使用亚马逊账户登录”SDK 来帮助将 LWA 授权码换成 LWA 刷新令牌。有关详细信息,请参阅“使用亚马逊账户登录”文档:

  1. 您的应用程序调用“使用亚马逊账户登录 (LWA)”授权服务器 (https://api.amazon.com/auth/o2/token),使用 LWA 授权码交换 LWA 刷新令牌。调用必须包含以下查询参数。

    参数描述
    grant_type请求的访问权限的类型。必须是 authorization_code
    code您在第 4 步:亚马逊向您发送授权信息中收到的 LWA 授权码。
    redirect_uri您的应用程序的重定向 URI。
    client_id您的 LWA 凭证的一部分。要获取此值,请参阅查看您的应用程序信息和凭证
    client_secret您的 LWA 凭证的一部分。要获取此值,请参阅查看您的应用程序信息和凭证

    例如:

    POST /auth/o2/token HTTP/l.l Host: api.amazon.com Content-Type: application/x-www-form-urlencoded;charset=UTF-8 grant_type=authorization_code&code=SplxlOexamplebYS6WxSbIA&client_id=foodev&client_secret=Y76SDl2F
  2. LWA 授权服务器返回 LWA 刷新令牌。响应采用 JSON 格式并包括以下元素:

    参数描述
    access_token授权您的应用程序代表销售伙伴采取某些操作的令牌。有关详细信息,请参阅连接到销售伙伴 API
    token_type返回的令牌的类型(应为 bearer)。
    expires_in访问令牌失效之前的秒数。
    refresh_token可以交换为新访问令牌的长期令牌。有关详细信息,请参阅连接到销售伙伴 API
    HTTP/l.l 200 OK Content-Type: application/json; charset UTF-8 Cache - Control: no-store Pragma: no-cache { "access_token": "Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR", "token_type": "bearer", "expires_in": 3600, "refresh_token": "Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX" }
  3. 您的应用程序会保存 refresh_token 价值。删除销售伙伴的旧 refresh_token。浏览器会打开一个页面,指示使用应用程序的后续步骤。

    提示

    LWA 刷新令牌是您交换 LWA 访问令牌的长期令牌。通过此令牌交换获得的访问令牌必须包括在对所有销售伙伴 API 操作的调用中,但受限操作免授权操作除外,这两种操作使用的授权模式有些不同。访问令牌发出后,有效期为一小时。相同的访问令牌可用于多个 API 调用,直到它过期。

    要使用生成的 SDK 将刷新令牌换成访问令牌,请参阅使用生成的 Java SDK 连接到销售伙伴 API。要手动将刷新令牌换成访问令牌,请参阅连接到销售伙伴 API

第 5 步。测试您的重新授权工作流程

我们建议您在应用程序处于草稿状态时测试您的重新授权工作流程,以确保您的应用程序可以与亚马逊交换参数并接收授权信息。如果此工作流程设置不当,则现有卖家和供应商在每年尝试重新授权时可能会失去对您应用程序的访问权限。

应用程序开发者应测试以下两种场景的重新授权工作流程:

  1. 第 1 步开始时,卖家或供应商已经登录您的网站。
  2. 在开始第 1 步时,卖家或供应商已从您的开发者网站注销。

要测试重新授权流程:

  • 使用销售伙伴应用商店授权工作流程网站授权工作流程在您的应用程序中创建授权。

  • 访问卖家平台或供应商平台中的 “管理您的应用程序” 页面,然后选择 Re-authorize 按钮启动重新授权工作流程。如果您正在与值得信赖的销售合作伙伴一起测试您的工作流程,请确保他们在卖家平台或供应商中心登录其销售合作伙伴账户,然后导航至 “管理我的应用程序” 页面以启动工作流程。

集成 OAuth 工作流程的技巧

鼓励开发人员和销售合作伙伴注意以下事项,以确保无缝集成和用户体验。

  • 代币到期和刷新: 发给第三方应用程序的 OAuth 代码将在五分钟后过期。如果您的应用程序在过期前未使用此代码,则您的应用程序必须获取新代码。SP-API 提供长期 LWA 刷新令牌,可用于获取新的 LWA 访问令牌,无需销售合作伙伴重新授权。有关更多信息,请参阅 申请 “用亚马逊账户登录” 访问令牌

    销售合作伙伴必须每 365 天重新授权一次申请。销售合作伙伴可以访问 管理您的应用程序 页面,卖家合作伙伴可以在其中选择 Re-authorize 并被定向到同意页面。然后,亚马逊将销售合作伙伴引导至您的应用程序的 OAuth 重定向 URI,开发人员必须在其中正确处理 OAuth 交换和刷新,以确保应用程序继续按预期运行。

  • 用户同意和权限: OAuth 工作流程是第三方应用程序访问亚马逊销售合作伙伴账户信息的机制。必须将应用程序请求的权限告知销售合作伙伴,并且必须允许他们选择授予或拒绝同意。开发人员必须确保其应用程序仅请求其运行所需的权限,并且他们必须在应用程序详情页面和网站营销页面上清晰简洁地解释为什么需要每种权限。

  • 终端节点:卖家平台为每个地区(北美、欧洲和日本)和商城提供不同的终端节点。开发者应确保其应用程序使用针对其目标地区和市场的正确终端节点,以避免意外行为。


此页面对您有帮助吗?