OAuth演练

OAuth2.0授权流程交互式说明,理解各授权类型的完整流程

🔄 授权流程
🎮 交互演练
📖 参考文档
授权码模式
隐式模式
客户端凭证
密码模式
设备码模式

OAuth2.0 核心端点

授权端点 (Authorization Endpoint)
  → 用户登录和授权的页面
  → GET 请求

令牌端点 (Token Endpoint)  
  → 用授权码换取访问令牌
  → POST 请求

撤销端点 (Revocation Endpoint)
  → 撤销访问令牌
  → POST 请求

用户信息端点 (UserInfo Endpoint)
  → 获取用户信息
  → GET 请求 (Bearer Token)

令牌类型

Access Token  → 访问API的凭证,通常1小时过期
Refresh Token → 刷新Access Token,长期有效
ID Token      → OpenID Connect身份令牌(JWT)

Access Token格式:
  • Bearer Token (不透明字符串或JWT)
  • 过期时间: 通常 3600 秒
  • 刷新: 使用 Refresh Token 获取新的 Access Token

安全最佳实践

✅ 使用 PKCE (授权码模式 + SPA)
✅ 使用 state 参数防止 CSRF
✅ 使用 nonce 参数防止重放攻击
✅ Redirect URI 必须精确匹配
✅ Access Token 不要存储在 localStorage
✅ 使用 HTTPS 传输
✅ Client Secret 不要暴露在前端
❌ 不要使用隐式模式 (已废弃)