qoder调用自定义模型鉴权失败,源于oauth token过期、ram策略缺失qwen:invokemodel权限或endpoint region与ram policy中resource的region不匹配,需依次检查授权状态、重新登录、核验ram策略及配置region一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Qoder调用自定义模型时提示鉴权失败,说明OpenClaw已成功连接到Qwen Portal服务,但阿里云百炼侧拒绝了本次请求的权限校验,常见于OAuth Token过期、RAM策略缺失或Region不匹配等场景。
确认OAuth Token是否已过期
第一步:在终端中执行授权状态检查命令:openclaw models list。
观察输出中qwen-portal/coder-model和qwen-portal/vision-model两行末尾是否显示Configured。若显示Not configured或空白,则Token已失效。
第二步:立即执行重新登录命令:openclaw models auth login --provider qwen-portal。
该命令会启动本地HTTP服务并自动打开浏览器,跳转至阿里云OAuth授权页。⚠️注意:必须使用与百炼控制台一致的阿里云主账号登录,子账号需提前被授予AliyunBailianFullAccess权限,否则授权后仍会鉴权失败。
检查RAM Policy是否包含qwen:InvokeModel动作
方法一:通过阿里云RAM控制台人工核对
登录RAM访问控制台 → 选择对应用户 → 点击「权限策略」→ 找到绑定给该用户的自定义策略(非系统策略)→ 点击「修改策略内容」→ 检查Statement数组中是否存在以下Action声明:
【"Action": "qwen:InvokeModel"】
若缺失,需手动添加;若仅写成"qwen:*",部分新版本策略引擎会拒绝匹配,必须显式声明qwen:InvokeModel。
方法二:用curl快速验证策略绑定状态(需替换YOUR_ACCESS_KEY_ID和your-ram-user)
执行脚本前,请确保已安装uuidgen和openssl工具。命令中Signature参数由HMAC-SHA1算法动态生成,不可复用旧签名值。
验证Endpoint Region与Policy中ARN白名单是否一致
打开OpenClaw配置文件(通常为~/.openclaw/config.yaml),查找qwen-portal provider区块下的endpoint字段。
若值为https://dashscope.aliyuncs.com/compatible-mode/v1,则默认Region为cn-beijing;若为https://dashscope.aliyuncs.com/compatible-mode/v1?region=cn-shanghai,则Region为cn-shanghai。
【RAM Policy中Resource字段必须精确匹配该Region,例如:"Resource": "acs:qwen:cn-shanghai:1234567890123456:*/qwen3.5-plus"】
Region不一致会导致AuthorizationFailed错误,且错误日志中不会明确提示具体是哪个Region不匹配。
临时绕过鉴权失败进行调试
方法1:启用百炼直连模式(仅限开发环境)
在OpenClaw配置中将qwen-portal provider替换为dashscope provider,并直接填入DashScope API Key:
provider: dashscope
api_key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
该方式跳过OAuth流程,直连百炼API,可用于快速验证模型服务本身是否可用。
方法2:用curl手动触发一次基础调用
执行以下命令(需替换YOUR_API_KEY和model_name):
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{"model": "qwen3.5-plus", "input": {"messages": [{"role": "user", "content": "hello"}]}}'
若返回200且含result字段,说明百炼服务正常,问题一定出在OAuth链路或RAM配置上。










