zpw
我在 Buda 里刚连上 Busabase,调用集成工具时就报错:Invalid grant: refresh token has expired。刚授权连接就提示 refresh token 过期,这通常是什么原因?Buda 这边的 refresh token 是怎么保存和刷新的(比如 Redis、数据库或内存)?有没有可能是 token 持久化或刷新流程导致的?\n\n

我在 Buda 里刚连上 Busabase,调用集成工具时就报错:Invalid grant: refresh token has expired。刚授权连接就提示 refresh token 过期,这通常是什么原因?Buda 这边的 refresh token 是怎么保存和刷新的(比如 Redis、数据库或内存)?有没有可能是 token 持久化或刷新流程导致的?\n\n


这个并发刷新问题已经修复,代码已完成合并和验证。同一条连接被多个请求同时使用时,可能重复刷新同一枚令牌,随后把已经更新成功的连接误判为过期。
修复已合并,并经过真实数据库、两个独立进程和实际 HTTP 请求验证。现在同一连接的刷新会依次处理,后来的请求读取已经保存的新凭据;旧请求的结果也不会覆盖新连接状态。
关于你问的保存方式:Buda 会把连接凭据加密后保存在服务端数据库,刷新成功后保存新的凭据。不过,仅凭原帖的错误信息,还不能确认你当时遇到的就是这个并发问题。
正式站目前尚未更新到包含此修复的版本。 我们会继续跟踪上线,并在这里补充。如果你现在仍能复现,请私下提供发生时间和时区、连接名称或 ID,以及是否有多个窗口或 Agent 同时使用该连接,方便核对;不要公开令牌、授权码或密钥。
Sign in to join the discussion. Reading is always open; you only need an account to post.
Sign in