概览
健康设备 Providers 使用 OAuth 来安全地完成用户授权。Mirobody Health 同时支持 OAuth 1.0 与 OAuth 2.0 协议。OAuth 1.0
Used by: Garmin, Fitbit (legacy)
OAuth 2.0
Used by: Whoop, Apple Health, most modern APIs
OAuth 2.0 Implementation
大多数现代健康 APIs 使用 OAuth 2.0。实现方式如下:1. Initiate Authorization
2. Handle Callback
3. Token Refresh
OAuth 1.0 Implementation
部分 Providers(如 Garmin)使用 OAuth 1.0:1. Request Token
2. Access Token Exchange
Security Best Practices
Token Storage
Token Storage
- 数据库存储前对 tokens 加密
- 使用安全的 key 管理方式(例如环境变量)
- 不要记录 tokens 或凭据
- 在支持的情况下实现 token rotation
State Parameters
State Parameters
For OAuth 2.0:
- 生成加密安全的随机 state
- 临时存储 state(10–15 分钟 TTL)
- 在 callback 中校验 state
- 防止 CSRF attacks
Error Handling
Error Handling
- 优雅处理过期 tokens
- 对失败请求使用 exponential backoff 重试
- 记录错误时避免暴露敏感数据
- 给用户提供清晰的错误信息