本地服务器(WAMP/XAMPP)出现woocommerce_rest_authentication_error错误求助
WooCommerce REST API 401错误(Consumer key无效)处理方案
错误信息
{ "code": "woocommerce_rest_authentication_error", "message": "Consumer key is invalid.", "data": { "status": 401 } }
环境
使用WAMP/XAMPP本地服务器
已执行的排查步骤
- 已勾选启用Legacy REST API
- 创建新的REST API并使用相同的Consumer Key
- 使用新管理员账户尝试
- 替换.htaccess为WordPress默认文件
- 升级WordPress和WooCommerce至最新版本
- 禁用所有其他插件
- 使用OAuth 1.0,仅携带Consumer Key和Consumer Secret发送请求
额外排查与解决步骤
1. 验证密钥复制准确性
- 确保复制Consumer Key和Secret时无额外空格、换行符,可手动核对首尾字符,或用纯文本编辑器清除格式后复制。
- 确认API密钥权限为读/写(按需选择),避免权限范围不匹配导致验证失败。
2. 本地URL配置检查
- 请求API时使用正确的本地站点地址,如
http://localhost/your-site/wp-json/wc/v3/,避免使用未在hosts文件配置的自定义域名。 - 检查WordPress后台「设置→常规」,确保站点URL与首页URL一致,且为本地可访问的地址(如
http://localhost/your-site)。
3. OAuth 1.0请求格式校验
- OAuth 1.0请求需包含完整参数:
oauth_signature_method(HMAC-SHA1)、oauth_timestamp、oauth_nonce、oauth_version,不能仅携带Key和Secret。 - 使用Postman等工具时,直接选择OAuth 1.0授权类型,由工具自动生成签名及必填参数,不要手动拼接请求头。
4. 服务器重写与HTTPS设置
- 启用Apache的
mod_rewrite模块:- WAMP:任务栏图标→Apache→Apache Modules→勾选
rewrite_module - XAMPP:编辑
httpd.conf,取消LoadModule rewrite_module modules/mod_rewrite.so前的注释
- WAMP:任务栏图标→Apache→Apache Modules→勾选
- 若本地站点启用HTTPS,确保请求使用
https://协议,且客户端信任自签名证书(可临时关闭SSL验证测试)。
5. API密钥状态验证
- 进入WooCommerce→设置→高级→REST API,确认创建的密钥状态为活跃,未被禁用。
- 创建全新的API密钥,复制后立即测试,避免密钥生成后未保存或被覆盖。
6. 排除本地安全工具干扰
- 暂时关闭防火墙、杀毒软件等安全工具,排查是否存在请求拦截导致的验证失败。
内容的提问来源于stack exchange,提问作者Arnab Som
相关产品推荐
相关产品推荐

