本文档介绍了什么是专用访问令牌 (PAT),以及 reCAPTCHA 如何使用它们。
什么是专用访问令牌?
reCAPTCHA 使用 iOS 和 macOS 上的一项名为 PAT 的功能来减少向真人用户显示的 CAPTCHA 数量。
PAT 是某些 iOS 和 macOS 设备生成的不透明令牌。该令牌可作为一种保护隐私的证明,证明设备的真实性和完整性。PAT 是 Privacy Pass 协议的一种实现,而 Privacy Pass 协议是一种 WWW-Authentication 方案。
reCAPTCHA 如何使用 Private Access Tokens
reCAPTCHA 会使用多种因素来判断请求是来自人类还是机器人。设备生成 PAT 的能力就是其中一种信号。无法生成 PAT 的设备不会受到惩罚。
PAT 协议旨在帮助保护隐私。该令牌不包含可用于识别特定设备或用户的个人身份信息。reCAPTCHA 会检查令牌是否有效,以确认请求来自正版 Apple 设备。
专用访问令牌请求流程
您可能会看到来自 reCAPTCHA 网址(以 /pat 结尾)的 401 错误。此错误是 PAT 协议中预期的一部分。为了确定设备是否可以生成 PAT,reCAPTCHA 会在拒绝初始请求的响应中发送一个特殊标头。在兼容的 Apple 设备上,此标头会触发一个流程,该流程会使用 PAT 重试请求。
此 401 错误不会妨碍 reCAPTCHA 在网页上正常运行,也不会导致其他错误。当您点击复选框或调用 execute 时,reCAPTCHA 仍会生成有效令牌。
后续步骤
如需详细了解 Apple 如何使用 Private Access Tokens,请参阅 Apple 开发者博客上有关 Private Access Tokens 的文章。