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

调用Tapkey Token Exchange接口返回400 invalid_grant问题咨询

Tapkey令牌交换invalid_grant错误排查方案
  • 修正JWT字段键名与取值
    你当前JWT Payload使用了不符合要求的长名键,需要替换为JWT标准缩写键,同时删除多余的algorithm字段,各字段取值严格符合以下要求:

    注意:以下字段取值错误是你当前遇到问题的核心诱因
    修正后的Payload参考示例:

    {
      "iss": "你在Tapkey管理后台注册身份提供商时分配的身份提供商ID",
      "aud": "https://login.tapkey.com",
      "sub": "myIpUserID1",
      "iat": 1633339589,
      "exp": 1633343189
    }
    

    各字段规则:

    • iss:替换原issuer字段,值为你注册身份提供商时拿到的官方分配ID,不可填写固定值"tapkey"
    • aud:替换原audience字段,固定值为https://login.tapkey.com,不可填写"local"
    • sub:替换原subject字段,值为你创建IdentityProviderUser时传入的IpId也就是"myIpUserID1",不要填写Tapkey返回的系统内部User-ID
    • iat:令牌签发时间戳,单位为秒
    • exp:令牌过期时间戳,单位为秒,有效期最长不超过3600秒,你当前的配置符合要求
  • 校验JWT签名有效性
    你Header中声明的签名算法为RS256,必须确保签名使用的是你在Tapkey后台绑定的身份提供商公钥对应的私钥,签名算法严格匹配RS256,不可使用HS256等其他算法。

  • 检查时间戳偏差
    确认生成JWT的设备系统时间与标准UTC时间同步,偏差不能超过5分钟,避免服务端判定令牌过期或未生效。如果生成令牌后间隔几秒才发起请求,可以将iat设置为Time.now.to_i - 10预留偏差缓冲。

  • 核对接口请求参数
    确认调用https://login.tapkey.com/connect/token接口时的表单参数完全符合要求:

    • grant_type固定为urn:ietf:params:oauth:grant-type:token-exchange
    • subject_token_type固定为urn:ietf:params:oauth:token-type:jwt
    • subject_token填写完整的JWT字符串
    • client_id填写Tapkey后台分配给你的客户端ID
    • scope填写你需要申请的权限,至少包含tapkey:api:access

内容的提问来源于stack exchange,提问作者Moritz Fröhlich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:36:04