我在 Buda 里刚连接 Busabase,调用集成工具时就报错:Invalid grant: refresh token has expired,提示 refresh token 已过期。刚连上就过期了,这一般是什么原因?是授权流程、token 刷新还是连接状态哪里出了问题?我应该怎么处理才能正常用?\n\n

官方已认领,正在处理中。 ·
我在 Buda 里刚连接 Busabase,调用集成工具时就报错:Invalid grant: refresh token has expired,提示 refresh token 已过期。刚连上就过期了,这一般是什么原因?是授权流程、token 刷新还是连接状态哪里出了问题?我应该怎么处理才能正常用?\n\n


谢谢你附上报错截图。刚连接就报 refresh token 过期不是正常的使用体验,不能仅凭这一句错误断定是你操作错了,或判断具体是哪一端的问题。
从连接流程看,Buda 在集成工具需要更新访问令牌时,会用已保存的 refresh token 向 Busabase 请求新令牌;刷新失败后,这条连接会被标为过期。Busabase 的刷新令牌会轮换,旧令牌不能重复使用。因此,旧连接凭据残留、重复刷新,或授权后保存新令牌的过程出错,都值得排查;这只是可能的方向,尚不是这次故障的结论。
你可以先在 Buda 的集成设置里断开这条 Busabase 连接,重新授权一次,随后先做一个只读操作验证。如果仍在刚授权后立即出现同样报错,请把发生时间(含时区)、Buda 中的连接名称或 ID、所调用的工具、是否有多个窗口/Agent 同时使用这条连接,以及重连后是否复现告诉我们。不要公开 access token、refresh token、授权码或完整请求头;可私下提供不含凭据的日志。我们会按这些线索核对授权和刷新记录。重连若可用,也请告诉我们是否只是暂时恢复。

Buda 的这个并发刷新问题已经修复,代码已完成合并和验证。多个请求同时使用一条连接时,可能重复刷新同一枚令牌,导致已经更新成功的连接又被标为过期。
修复已合并,真实数据库和两个独立进程的验证已通过。修复后,同一连接只进行一次必要的刷新,其余请求使用已保存的新凭据;旧请求也不会覆盖新状态。
正式站目前尚未部署这项修复。 我们会在确认上线后继续更新本帖,暂不把原问题标为已解决。你当时那次报错的具体原因仍需结合连接和时间核对;若仍可复现,请补充发生时间和时区、Buda 中的连接名称或 ID、是否存在并发使用。请勿公开令牌、授权码或密钥。
登录后参与讨论。阅读始终开放,只有发帖和回复需要账号。
登录