You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Amazon SP-API OAuth直接跳转至Redirect URI,跳过Login URI?

解决Amazon SP-API公开应用OAuth流程跳过Login URI直接跳转Redirect URI的问题

核心思路

Amazon SP-API公开应用强制要求填写OAuth Login URI,但我们可以通过将该字段设置为一个无感知跳转端点,让用户在点击按钮后直接重定向到实际的OAuth Redirect URI,从而跳过额外的登录步骤。

具体实现步骤

  1. 创建临时跳转端点
    在你的应用服务器上搭建一个简单的HTTP端点(比如/amazon-login-forward),这个端点的唯一功能就是接收亚马逊传递的所有授权参数,直接重定向到你配置的OAuth Redirect URI。
    示例代码(以Python/Flask为例):

    from flask import request, redirect
    import os
    
    @app.route('/amazon-login-forward')
    def amazon_login_forward():
        # 拼接Redirect URI和所有查询参数
        redirect_uri = os.environ.get('AMAZON_REDIRECT_URI')
        query_string = request.query_string.decode('utf-8')
        full_redirect_url = f"{redirect_uri}?{query_string}" if query_string else redirect_uri
        return redirect(full_redirect_url)
    
  2. 配置Amazon开发者后台字段

    • 将OAuth Login URI设置为你刚创建的跳转端点(比如https://your-app-domain.com/amazon-login-forward)
    • 将OAuth Redirect URI设置为你实际处理授权回调的业务端点(比如https://your-app-domain.com/amazon-auth-callback)
  3. 验证流程
    用户完成亚马逊授权并点击「Sign/Up Login to App」按钮后,会先跳转到上述跳转端点,该端点会立即将用户重定向到OAuth Redirect URI,同时完整携带亚马逊传递的code、state等关键授权参数,你的应用即可正常完成后续的令牌获取逻辑。

关键注意事项

  • 跳转端点的域名必须与你在Amazon后台备案的授权域名完全一致,否则会被亚马逊拦截
  • 务必完整保留所有查询参数,缺失参数会导致授权流程失败
  • 跳转端点不要添加任何用户交互或页面渲染逻辑,保持纯重定向的无感知体验

内容的提问来源于stack exchange,提问作者Sankar Chinnakotla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:10:22