VSCode插件在VPC私有部署下登录失败,与VPC后端/users/sign-in协议不匹配

问题摘要

QoderCN VSCode 插件(alibaba-cloud.tongyi-lingma)在配置企业域(VPC 专属部署)后,点登录弹出的链接 host
正确,但路径是灵码远程登录协议的 /lingma/login,VPC 后端不支持该端点,导致 VSCode 插件无法完成登录。同一环境下
CLI(qodercn)和 QoderCN 独立 IDE 均可正常登录,它们走的是 /users/sign-in 标准 OAuth 流程。

复现环境

  • 操作系统:Windows 10 26100,x64
  • VSCode 扩展:alibaba-cloud.tongyi-lingma 2.6.9(即 QoderCN VSCode 插件,内部 context key / 命名空间均为 QoderCN.*)
  • CLI 与独立 IDE:qodercn,可正常登录
  • 企业域 / VPC 实例:qodercn-cathay,完整域 https://qodercn-cathay.vpc.qoder.com.cn
  • VSCode 用户设置:
    "QoderCN.dedicatedDomainURL": "https://qodercn-cathay.vpc.qoder.com.cn"
  • CLI 用户级配置(~/.qoder-cn/settings.json):
    "security.auth.selectedType": "qoder-browser",
    "vpcInstanceName": "qodercn-cathay"

复现步骤

  1. 在 VSCode 设置中配置 QoderCN.dedicatedDomainURL 为 VPC 完整域名。
  2. 在 QoderCN 插件面板点击登录。
  3. 浏览器打开的登录链接为:
    https://qodercn-cathay.vpc.qoder.com.cn/lingma/login?port=&state=
  4. 该地址在 VPC 后端无法完成登录。

实际现象(错误)

VSCode 插件弹出:
https://qodercn-cathay.vpc.qoder.com.cn/lingma/login?port=37510&state=
host 正确,但路径为 /lingma/login,VPC 后端无此端点 / 协议不匹配,无法登录。

期望现象(正确)

CLI 与独立 IDE 弹出的是标准 OAuth 流程,可正常登录:
https://qodercn-cathay.vpc.qoder.com.cn/users/sign-in?oauth_callback=https%3A%2F%2Fqodercn-cathay.vpc.qoder.com.cn%2
Fdevice%2FselectAccounts%3F...&directLogin=true&...
期望 VSCode 插件在 VPC 模式下也使用这条 /users/sign-in 标准 OAuth 流程。

根因分析

定位到 alibaba-cloud.tongyi-lingma 2.6.9 插件代码:

登录路径硬编码。dist/extension.js 中远程登录分支(LoginType.REMOTE_WEB)拼接逻辑形如:
${dedicatedDomainURL || fallback}/lingma/login?loginType=remote&uriScheme=${l.env.uriScheme}&${r.query}
QoderCN.dedicatedDomainURL 仅被用于替换 host,路径 /lingma/login 与灵码远程登录协议(loginType=remote、本地 port
回调)是写死的,并未在 VPC 模式下改写为 VPC 后端支持的 /users/sign-in。
dist/env/env.json 默认登录地址也是灵码地址:
"remote_config": { "login_url": "https://devops.aliyun.com/lingma/login", ... }
插件代码中全文检索不到 users/sign-in 字符串,也没有 PAT / accessToken 登录分支。因此:

 - 仅靠用户侧配置(QoderCN.dedicatedDomainURL)无法解决——它只影响 host,影响不了硬编码的登录路径与协议。
 - 也无法用 PAT 绕过浏览器 OAuth。

对比:CLI 与独立 IDE 走的是 /users/sign-in?oauth_callback=... 标准 OAuth 设备授权流程,后端支持,故两者登录正常。

期望修复方向

在 VPC / 专属部署模式下,让 VSCode 插件的登录流程复用 CLI 与独立 IDE 同款的 /users/sign-in?oauth_callback=... 标准
OAuth 流程,而不是灵码原生的 /lingma/login?loginType=remote 远程浏览器登录协议。具体可考虑:

  • 当检测到 QoderCN.dedicatedDomainURL / VPC 模式时,将登录端点由 /lingma/login 切换为 /users/sign-in,并使用与 CLI
    一致的 oauth_callback 参数协议。
  • 或在插件设置中新增「VPC 登录端点路径 / 登录方式」开关,允许在灵码远程登录与标准 OAuth 之间切换。

临时 workaround

  • 在 VSCode 中通过 qodercli-for-vscode 扩展(Ctrl+Shift+Q)直接在集成终端运行 qodercn CLI,复用 CLI 已成功的登录态。
  • 或改用 QoderCN 独立 IDE(已验证可正常登录)。
  • 不建议手改 dist/env/env.json / dist/extension.js:即使把 path 改为 /users/sign-in,灵码远程登录携带的
    query(loginType=remote&uriScheme&port)与回调机制与标准 OAuth 的 oauth_callback 不一致,VPC
    后端无法响应,且升级会覆盖改动。

相关文件 / 代码位置

  • 扩展目录:~/.vscode/extensions/alibaba-cloud.tongyi-lingma-2.6.9/
  • dist/extension.js:LoginCmdHandler.executeCMD / LoginType.REMOTE_WEB 分支,/lingma/login 拼接处
  • dist/env/env.json:remote_config.login_url

展开
收起
游客pfwxwabjngcco 2026-09-20 18:17:51 57 分享 版权
1 条回答
写回答
取消 提交回答
  • 这明显是插件端的协议适配层没跟上企业版(VPC)的定制接口。

    简单说,就是 VSCode 插件还在用“公有云标准版”的逻辑去连“私有化部署”的后端。它强行调用了 /lingma/login 这个灵码特有的端点,但你们 VPC 后端只认标准的 OAuth2.0 流程(即 /users/sign-in)。CLI 和独立 IDE 能登录,就是因为它们底层走的是标准协议,而插件为了省事(或版本滞后),硬编码了专有路径。

    人工实操建议:
    别折腾配置了:这不是你网络或证书的问题,是代码逻辑写死了。
    提 Bug 给官方:直接找阿里云/通义灵码的企业支持团队,甩出这个现象:“VSCode 插件在 VPC 环境下调用 /lingma/login 导致 404 或认证失败,请修复为兼容 /users/sign-in 的标准 OAuth 流程。”
    临时 workaround:如果急用,暂时换用 QoderCN 独立 IDE 或 CLI 操作。或者检查是否有最新版本的插件 Beta 包,看是否修复了 VPC 兼容性。

    简单说,这是插件的锅,不是你的锅。赶紧让官方修代码,别在那改代理或清缓存了,没用。

    官方详细解决方案:https://www.aliyun.com/product/qodercn

    2026-09-21 10:58:22
    赞同 1 展开评论
问答分类:
问答地址:

Qoder CN 是阿里云推出的 AI 智能体产品系列,覆盖软件开发与日常办公多元场景,包含面向编码场景的 Qoder CN(含 IDE、JetBrains/VS Code 插件)、面向日常工作的 QoderWork CN(桌面应用)、Qoder CLI CN(终端原生形态)等子产品。系列基于国内主流大模型与国内部署,满足金融、政务等行业对数据安全与合规的高要求。 更多信息欢迎加入用户交流群(钉钉群号53770000738)

还有其他疑问?
咨询AI助理