Auth Security Expert 是一个面向认证与授权安全的专家技能,核心关注 OAuth 2.1、JWT(RFC 8725)、加密与认证安全,并强调执行 2026 年安全标准。
用途 该技能用于指导开发者按照 OAuth 2.1 与 JWT 最佳实践实现安全的认证流程。资料明确指出 OAuth 2.1 将于 2026 年第二季度成为强制要求,Google、Microsoft、Okta 已弃用旧版 OAuth 2.0 流程并设定 2026 年第二季度的执行截止日期。
主要能力
- OAuth 2.1 迁移要求:PKCE 对所有客户端(公共与机密)强制;隐式流程(response_type=token 或 id_token token)被禁止;资源所有者密码凭证流程(grant_type=password)被禁止;URI 查询参数中的 Bearer 令牌被禁止;重定向 URI 必须精确匹配,不允许通配符;刷新令牌必须实现发送方约束令牌(mTLS、DPoP)或带重用检测的刷新令牌轮换。
- PKCE 实现:提供生成 code_verifier(43-128 个加密随机 URL 安全字符)与 code_challenge(BASE64URL(SHA256(code_verifier)))的代码示例,要求 code_challenge_method 必须为 S256。
- PKCE 降级攻击防护:提供授权端点拒绝无 PKCE 请求、令牌端点验证 code_verifier 的服务端代码示例。
- 授权码流程分步实现:包含生成 PKCE 参数、重定向到授权端点、处理回调并校验 state、交换令牌的客户端代码示例。
- OAuth 2.1 安全检查清单:涵盖 PKCE 启用、降级防护、禁用隐式与密码流程、精确重定向 URI、令牌不出现在 URL、拒绝 plain 方法、校验 state、仅 HTTPS、令牌端点客户端认证等。
- JWT 安全(RFC 8725):令牌生命周期建议(访问令牌 ≤15 分钟、刷新令牌 7-30 天、ID 令牌 5-60 分钟);推荐算法 RS256、ES256,谨慎使用 HS256,禁止 none;提供签名与验证代码示例;完整 JWT 校验清单(拒绝 none、白名单算法、校验签名、必需声明、生命周期、吊销、自定义声明);注册声明与自定义声明说明;禁止在 JWT 中存储敏感数据。
- 令牌存储安全:推荐 HttpOnly Cookie(httpOnly、secure、sameSite=strict),禁止 localStorage/sessionStorage,并解释原因。
- 刷新令牌轮换与重用检测:提供攻击场景说明与服务端实现示例。
使用方式 资料以代码示例与检查清单形式呈现,涵盖客户端与服务端实现。使用方式为在开发认证流程时参照这些示例与清单进行实现与校验。
适用场景 适用于需要实现或迁移 OAuth 2.1 认证流程、JWT 签发与校验、令牌存储与刷新令牌管理的开发场景。
限制 资料未提供该技能的安装命令、平台支持、收费信息或具体使用步骤。部分内容(如刷新令牌轮换的服务端实现)在资料中被截断,未完整呈现。