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

如何解决切换Vonage新应用/账号时Nexmo SDK报system:error:invalid-token错误

排查解决方案

该错误为Vonage服务器验证请求携带的JWT令牌失败导致,可按以下步骤逐一排查:

  • 验证私有密钥与应用的配对关系
    更换新应用后必须使用新应用创建时生成的唯一私有密钥文件,不可复用旧应用的私钥。同时确认:
    • 私钥文件内容完整,没有额外的空格、换行、字符篡改
    • 配置中填写的私钥路径为绝对路径,服务端运行进程对该文件有可读权限
    • 私钥与当前使用的applicationId属于同一个Vonage应用,不可跨应用混用
  • 检查应用权限配置
    登录Vonage控制台进入对应应用的设置页,确认已启用Users API、RTC相关的权限开关,未开通对应权限的应用生成的JWT会被判定为无效。
  • 排查beta版本SDK的已知问题
    你使用的@vonage/server-sdk@2.10.7-beta-2属于测试版本,存在JWT自动生成异常的已知bug。可通过手动生成JWT验证:
    首先生成测试JWT,payload需包含以下字段:
    {
      "application_id": "你的新应用ID",
      "iat": 当前10位时间戳,
      "exp": 当前10位时间戳 + 3600,
      "sub": "test"
    }
    
    签名算法选择RS256,填入你的新应用私钥生成令牌后,用curl调用接口验证:
    curl -X POST https://api.nexmo.com/v1/users \
      -H "Authorization: Bearer 生成的测试JWT" \
      -H "Content-Type: application/json" \
      -d '{"name":"test_user","display_name":"测试用户"}'
    
    若手动调用成功,说明是SDK版本问题,建议升级到最新稳定版@vonage/server-sdk@3.x即可解决。
  • 确认账号凭证归属一致
    涉及多账号的场景下,需确保apiKey、apiSecret、applicationId、privateKey四个参数全部属于同一个Vonage账号,不可跨账号混用凭证。
  • 校验服务端系统时间
    若服务端系统时间与标准时间偏差超过5分钟,生成的JWT时间戳会被Vonage服务器判定为无效,同步服务器系统时间即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:01