跳到主内容
版本: 1.x

AUTH421:认证令牌被主机拦截

含义说明

商店的服务器在该应用可用的每一条通道上都拦截了登录令牌。

应用已确认商店可以访问,但服务器(或其前端的防火墙、代理或安全插件)剥离了 Authorization 头,并且在令牌以 URL 参数形式发送时也将其拦截。没有第三种方式可以传递登录令牌,因此必须在服务器端解决此问题。

你的数据

订单或产品数据不会受到影响。

排查方法

面向你的主机 / 服务器 —— 在服务器放行登录令牌之前,它没有任何可用的传递通道:

  1. 允许 Authorization 头传递到 WordPress —— 在 Apache 上通常只需一行:SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
  2. 如果网站使用 .htaccess 重写规则,请保留 WordPress 生成的、用于传递 HTTP_AUTHORIZATION 的 RewriteRule 行 —— 安全插件有时会将其移除。
  3. 在代理或 CDN 后面时,请检查其请求头白名单:必须将 Authorization 请求头转发到源服务器。
  4. 如果 Web 应用防火墙(WAF)正在过滤 URL 参数,请在 /wcpos/ REST 路由上放行 authorization 参数。

详情

Code
AUTH421 (AUTH_TOKEN_BLOCKED_BY_HOST)
Severity
error
Introduced in
WCPOS 1.10.0