Shopware账户测试环境获取access token失败,报302错误
OAuth重定向URL配置不匹配
你在Shopware账户后台创建应用时,可能只配置了生产环境的redirect_uri,没同步添加测试环境的回调地址。官方测试环境对重定向URL的校验更严格,必须和代码里请求token时携带的redirect_uri完全一致(包括HTTPS协议、路径结尾的斜杠这类细节),不匹配就会触发302跳转。HTTP请求被强制跳转至HTTPS
Shopware官方测试环境大概率强制所有API请求走HTTPS,如果你的代码里请求token接口用的是HTTP协议,服务器会直接返回302跳转到HTTPS版本。要是你的HTTP客户端没开启自动跟随重定向(比如Guzzle的allow_redirects默认可能关闭),就会拿不到正确的token响应。API端点路径与测试环境不兼容
自有测试店的API端点路径可能和官方测试环境有差异,比如官方测试环境的token接口路径是/test/api/oauth/token而非你代码里的/api/oauth/token。可以直接用curl测试测试环境的token端点,确认路径是否正确。应用权限范围配置不全
虽然安装注册成功,但测试环境的应用权限(scopes)可能没勾选全。比如你需要api_search权限,但后台没配置,请求token时服务器会重定向到权限申请页面,返回302。去Shopware账户后台检查应用的权限设置,确保包含所有必要的权限。跨域Cookie限制导致会话失效
若你的应用依赖会话Cookie获取token,而Shopware测试环境和你的app server域名不同,测试环境的Cookie可能因为SameSite属性设置过严而无法被携带。这种情况下服务器会认为会话失效,返回302跳转到登录页面。可以改用客户端凭证模式,或者检查Cookie的跨域配置。
内容的提问来源于stack exchange,提问作者Mathematiker3

