跳到主要内容
ecdsa.com

DPoP(出示持有证明)

RFC 9449 定义的 OAuth 机制:把访问令牌和刷新令牌绑定到客户端持有的密钥,每个请求都携带一个新签名的 DPoP 证明 JWT,因此仅窃得令牌毫无用处。
其他写法DPoPRFC 9449dpop+jwtDPoP proof

客户端生成密钥对(通常是 ES256),发送 DPoP 头部,其中包含一个 JWT:typ 为 dpop+jwt,公钥放在 jwk 头部参数中,声明包括 jti、htm(HTTP 方法)、htu(不含查询部分和片段的 URL)、iat,出示访问令牌时还有 ath(访问令牌的 SHA-256 哈希)。授权服务器把签发的令牌绑定到该密钥的指纹(cnf.jkt),资源服务器在每次调用时检查证明;服务器可以要求使用由服务器提供的 nonce,以限制预先计算的证明。

DPoP 工作在应用层,因此经过终止 TLS 的代理后依然有效,适合浏览器和移动应用,这一点不同于绑定 mTLS 的令牌(RFC 8705)。资源服务器必须在较短的时间窗口内检查 jti 的唯一性,检查方法和 URL,并检查证明所用的密钥与令牌相符。DPoP 查看器可以校验证明及其令牌绑定。

标准与参考资料

全部术语