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

WSO2 APIM 4.1.0刷新令牌异常过期问题求助

WSO2 APIM 4.1.0 刷新令牌相关问题

问题背景

我们将WSO2 APIM从2.6.0版本升级到4.1.0后,遇到了刷新令牌相关的异常问题。旧版本中同一scope的请求会复用有效令牌,新版本每次请求都会生成新令牌,这一点本身我们可以接受。

具体异常现象

  • 使用password flow时,每次请求返回的access token都不同,但refresh token始终保持一致
  • 调用/token端点的refresh_token flow时,旧access token仍处于有效状态,但旧refresh token会直接失效
  • 接口响应仅包含access token、refresh token以及access token的expires_in字段,未提供refresh token的过期时间信息

测试验证情况

我们将access token的有效期设置为60秒,refresh token的有效期设置为90秒,但实际测试发现:

  • 仅过了40秒,旧refresh token就已失效,调用时返回"invalid_grant"错误
  • 实际表现与官方文档描述不符,同时revoke功能也无法正常工作

核心疑问

  1. 作为客户端,如何知晓refresh token的过期时间?
  2. 如何配置APIM,使refresh token的有效期至少不短于其对应的access token?

测试脚本

#!/bin/bash

ACCESS_TOKEN=
REFRESH_TOKEN=
ORIGINAL_REFRESH_TOKEN=
EXPIRES_IN=

RESPONSE=

while true; do
  CALL_DATE=$(date --iso-8601=s)
  RESPONSE=$(curl -X POST https://api-temy-carc.internal.carus.com/token -d "grant_type=password&username=apiuser&password=1234&scope=device_baz" -H "Authorization: Basic amZXNGkyRkdMY1JTYjk5MWFXTkhnVEcyRVJNYTpnclQ5bFY2RldKY2x5VGh1WDBXSng3ZlNyRXdh")
  REFRESH_TOKEN=$(echo "$RESPONSE" | jq -r .'refresh_token')
  EXPIRES_IN=$(echo "$RESPONSE" | jq -r '.expires_in')
  
  if [[ -z "$ORIGINAL_REFRESH_TOKEN" ]]; then
    ORIGINAL_REFRESH_TOKEN=$REFRESH_TOKEN
    echo -e "$CALL_DATE\t$REFRESH_TOKEN\tFirst call\t$EXPIRES_IN"
  elif [[ "$ORIGINAL_REFRESH_TOKEN" == "$REFRESH_TOKEN" ]]; then
    echo -e "$CALL_DATE\t$REFRESH_TOKEN\tSame refresh\t$EXPIRES_IN"
  else
    echo -e "$CALL_DATE\t$REFRESH_TOKEN\tNew refresh\t$EXPIRES_IN"
    echo "Trying original refresh token"
    sleep 1
    curl -k -d "grant_type=refresh_token&refresh_token=$ORIGINAL_REFRESH_TOKEN" -H "Authorization: Basic amZXNGkyRkdMY1JTYjk5MWFXTkhnVEcyRVJNYTpnclQ5bFY2RldKY2x5VGh1WDBXSng3ZlNyRXdh" https://api-temy-carc.internal.carus.com/token | jq .
    exit
  fi
  
  sleep 10
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:10:34