EN

OAuth 最佳实践

OAuth 2.0 是行业标准的授权协议。本指南介绍使用 OpenDev 平台集成 OAuth 的最佳实践。


架构模式

推荐 OAuth 流程

用户 → 应用客户端 → OpenDev 后端 → 提供商(如 Google)
                     ↑                    ↑
                     └── 重定向与 Token 交换 ──┘

移动端流程

移动应用建议使用 Authorization Code Flow with PKCE

  • 生成 codeverifier 与 codechallenge
  • 启动 OAuth 时携带 code_challenge
  • 交换 code 时携带 code_verifier

Web 应用流程

Web 应用建议使用 服务端流程

  • 在后端交换授权码与 Token
  • 验证 state 防 CSRF
  • Token 仅存于服务端

安全最佳实践

  1. 验证 state 参数 - 防止 CSRF
  2. 服务端交换 Token - 不在前端交换
  3. 安全存储 Token - 加密、仅服务端
  4. 实现 Token 刷新 - 使用 refresh_token
  5. 最小 Scope - 只请求必要权限

错误处理

错误 处理方式
access_denied 用户拒绝,友好提示
invalid_grant Token 过期/失效,引导重新登录
redirecturimismatch 检查回调 URL 配置

相关文档