欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

OAuth 2.0 授权码模式与令牌泄露防御

发表于:|最后更新:|分类:安全与运维|阅读:1944 次

OAuth 2.0 授权码模式是当前最安全的授权流程,但仍需防范授权码拦截与令牌泄露风险。

一、标准授权码流程

  1. 客户端将用户重定向至授权服务器
  2. 用户认证后,授权服务器回调携带 code
  3. 客户端后端使用 code + client_secret 换取 access_token

二、关键防御措施

  • PKCE:公共客户端必须使用 code_verifier 与 code_challenge 绑定授权码
  • state 参数:防止 CSRF,回调时校验 state 一致性
  • 重定向 URI 白名单:严格匹配,禁止通配符
  • 短期令牌:Access Token 有效期控制在分钟级,配合 Refresh Token 轮换
http
POST /token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=xxx&redirect_uri=https://app.example.com/cb&code_verifier=yyy