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

Xero OAuth API突然失效:返回非JSON响应的问题求助

Xero API OAuth集成突然失效,返回"Invalid response received from Authorization Server"错误

错误详情

Error: [UnexpectedValueException] Invalid response received from Authorization Server. Expected JSON. in /var/www/html/mnr-be/vendor/league/oauth2-client/src/Provider/AbstractProvider.php on line 539

项目依赖(composer.lock片段)

{
  "name": "cakephp/app",
  ...
  "type": "project",
  "version": "0.4.2",
  "license": "Private, no license granted",
  "repositories": [],
  "require": {
    "php": ">=7.2",
    "burzum/cakephp-service-layer": "^2.0",
    "cakephp/authentication": "^2.6",
    "cakephp/authorization": "^2.0",
    "cakephp/bake": "2.5.x",
    "cakephp/cakephp": "4.2.*",
    "cakephp/migrations": "^3.0",
    "cakephp/plugin-installer": "^1.2",
    "friendsofcake/crud-json-api": "^1.0.1",
    "friendsofcake/search": "^6.0",
    "josegonzalez/dotenv": "dev-master",
    "league/oauth2-client": "^2.5",
    "mobiledetect/mobiledetectlib": "^2.8",
    "robmorgan/phinx": "^0.12.4",
    "symfony/yaml": "^5.1",
    "xeroapi/xero-php-oauth2": "^2.1"
  },
}

服务器实际返回内容

<html>
  <head>
    <title>Access Denied</title>
  </head>
  <body>
    <h1>Access Denied</h1>
    You don't have permission to access
    "http&#58;&#47;&#47;identity&#46;xero&#46;com&#47;connect&#47;token" on this
    server.
    <p>Reference&#32;&#35;18&#46;b0c35068&#46;1667675819&#46;108773f6</p>
  </body>
</html>

已完成的排查

  • 排除TLS版本问题:使用的ngrok v2和caddy v2均支持TLS 1.2
  • 已将xeroapi/xero-php-oauth2更新至最新版本2.17.0,问题未解决

问题原因分析

  1. 核心触发点:OAuth客户端库预期Xero身份验证服务器返回JSON格式响应,但实际收到的是HTML格式的"Access Denied"页面,导致解析失败抛出异常。
  2. 可能的根因:
    • 重定向URI不匹配:Xero开发者后台配置的重定向URI白名单与当前应用使用的URI不一致(包括协议、域名、端口、路径)
    • 客户端凭证失效:客户端ID/密钥过期、被修改或被Xero平台撤销
    • 应用权限受限:Xero应用的授权范围被调整,或应用状态被暂停/限制
    • IP拦截:Xero后台设置了IP白名单,当前服务的出口IP(如ngrok的节点IP)不在允许范围内

建议排查步骤

  • 登录Xero开发者后台,核对应用的重定向URI,确保与当前代码中配置的完全一致
  • 验证客户端ID和客户端密钥的正确性,确认未过期或被撤销
  • 检查Xero应用的状态,确认未被平台限制访问
  • 更换ngrok的区域节点,或使用固定域名的隧道服务,避免临时IP触发拦截
  • 查看Xero开发者后台的应用日志,获取更详细的访问拒绝原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:15:32