背景与价值mTLS客户端证书可确认调用者身份;令牌绑定将证书拇指指嵌入令牌,降低盗用与转移风险。统一规范认证方法:`tls_client_auth` 或在私有授权服务器策略中启用mTLS。令牌绑定:嵌入 `cnf.tls_client_cert` 或 `cnf.x5t#S256`。验证策略:资源端校验证书与令牌绑定一致性。核心实现拇指指计算与校验function b64urlHex(buf: ArrayBuffer): string { const u = new Uint8Array(buf); let s=''; for (let i=0;i<u.length;i++) s += u[i].toString(16).padStart(2,'0'); return s } async function spkiThumbprint(spki: ArrayBuffer): Promise<string> { const d = await crypto.subtle.digest('SHA-256', spki); return b64urlHex(d) } type AccessToken = { cnf?: { tls_client_cert?: string; 'x5t#S256'?: string } } function bound(ok: boolean, token: AccessToken, thumb: string): boolean { const a = token.cnf?.tls_client_cert || token.cnf?.['x5t#S256'] || ''; return ok && a === thumb } 落地建议在授权与网关层启用mTLS客户端认证,令牌嵌入证书拇指指用于绑定校验。资源端对证书与令牌进行一致性校验,拒绝不匹配访问。验证清单证书拇指指是否按 `SHA-256` 计算;令牌 `cnf` 是否与证书一致。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部