用途:为 HubSpot 集成提供生产级认证层实现,而非入门配置教程。目标是让集成在令牌过期、权限变更、限流、凭据泄露等场景下仍能稳定运行。
主要能力:
- 令牌缓存:OAuth 访问令牌 1800 秒过期,在 TTL 的 80% 处主动刷新,并用单飞(single-flight)门控避免并发刷新风暴;私有应用令牌不过期。
- 退避重试:对 429 与 5xx 使用带抖动的指数退避,并遵循 Retry-After;令牌端点限 10 次认证调用/10 秒,私有应用限 100 次 API 调用/10 秒。
- 作用域校验:每次刷新后校验必需 scope,缺失即快速失败,提示管理员重新授权。
- 密钥管理与防泄露:令牌不得进入源码、提交的 .env 或日志;提供 .gitignore 条目与 git 历史检查命令,并给出无停机轮换流程。
- 多门户凭据路由:按门户维护独立令牌缓存,避免请求发往错误门户。
- 刷新令牌衰减检测:HubSpot 刷新令牌一年未用即失效,在 300 天时告警。
使用方式:需 Node.js 18+ 或 Python 3.10+、HubSpot 私有应用或 OAuth 公共应用、可读取的密钥存储。按令牌缓存、退避、作用域校验、密钥管理、多门户路由、衰减检测的顺序构建。示例命令:git grep -r "pat-na1" -- '.ts' '.js' '.py' '.json';curl -s "https://api.hubapi.com/oauth/v1/access-tokens/$HUBSPOT_ACCESS_TOKEN" | jq '{hub_id, user, scopes}'。
适用场景:管理多个门户的代理商与 ISV、季节性使用或暂停的自动化集成、需要无停机轮换令牌的线上服务。
限制:资料未提供具体收费、价格或平台支持范围;示例以 TypeScript 为主,Python 等价实现仅在资源中提及。