Skip to content

refactor: 凭证接口改名 + 应用凭证返回完整凭证 - #4

Merged
lbb00 merged 6 commits into
mainfrom
feat/user-credential-auto-renewal
Aug 3, 2026
Merged

lbb00 merged 6 commits into
mainfrom
feat/user-credential-auto-renewal

Conversation

@lbb00

@lbb00 lbb00 commented Aug 3, 2026 •

Copy link
Copy Markdown
Collaborator

按官方 auth-token 文档统一凭证模型的术语和接口命名:应用凭证(CLIENT_CREDENTIALS,代表应用本身,用于开发调试/服务端联调/无需用户身份的后台任务)和用户授权凭证(AUTHORIZATION_CODE,绑定 openId,代表真实登录用户)。

  • getAccessToken() → getAppAccessToken(),且从返回裸 string 改为返回完整凭证 {accessToken, expiresAt, refreshToken, openId} —— 应用凭证的响应本来就带 refreshToken 和过期时间,旧签名把它们丢了。TokenStore 缓存条目同步扩字段,缓存命中与新换取返回同样完整的对象。
  • code2Session() → getUserAccessToken()。旧名直接删除,不留废弃别名(尚无外部使用者)。
  • 凭证生命周期仍然完全由调用方掌握:业务调用的 accessToken 每次显式传入(Node me({accessToken})、Java me(QdmpContext.of(...))、Go WithAccessToken(...)),续期用 auth.refreshToken() 自己调,SDK 不缓存用户凭证、不代管、不做任何自动重试——401 原样抛给调用方。调用方也可以完全不用 getUserAccessToken,自己实现拿凭证那一步。
  • 文档:授权码来源写清楚是前端 qd.login()(对应原生接口 signin generate-code),删掉 wx.login() 这个微信类比;README 去掉平台文档内容和 db.xxx 假设。

实测更正了两处与文档字面不符的地方:真实响应字段是驼峰且 expiresAt 为字符串(文档写的 snake_case + 数字型 expires_at 照做会调不通);错误码 10003 的实际 message 是「授权码错误或超过 5 分钟」,授权码有 5 分钟有效期。

三端门禁全绿(Node 91 / Java 119 / Go 83 测试,含 lint、staticcheck、checkstyle、spotless),三端均已对真实线上服务跑通 e2e:应用凭证完整四字段、缓存命中路径字段一致、自己调 refreshToken 续期、ctx 必传形态调通、坏 token 原样抛出无自动重试——三端结果一致。

🤖 Generated with Claude Code

lbb00 and others added 4 commits August 3, 2026 21:08
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lbb00 lbb00 changed the title feat: 用户授权凭证自动续期 refactor: 凭证接口改名 + 应用凭证返回完整凭证 Aug 3, 2026
lbb00 and others added 2 commits August 3, 2026 22:18
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lbb00
lbb00 merged commit 59ac66b into main Aug 3, 2026
4 checks passed
@lbb00
lbb00 deleted the feat/user-credential-auto-renewal branch August 3, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant