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 不要暴露在前端 ❌ 不要使用隐式模式 (已废弃)