Ce document explique ce que sont les jetons d'accès privés (JAP) et comment reCAPTCHA les utilise.
Que sont les jetons d'accès privés ?
reCAPTCHA utilise une fonctionnalité d'iOS et de macOS appelée PAT pour réduire le nombre de CAPTCHA qu'il affiche aux utilisateurs humains.
Un jeton d'accès personnel est un jeton opaque généré par certains appareils iOS et macOS. Le jeton sert d'attestation respectueuse de la confidentialité de l'authenticité et de l'intégrité d'un appareil. Les PAT sont une implémentation du protocole Privacy Pass, qui est un type de schéma WWW-Authentication.
Comment reCAPTCHA utilise les jetons d'accès privés
reCAPTCHA utilise plusieurs facteurs pour déterminer si une requête provient d'un humain ou d'un robot. La capacité d'un appareil à générer un PAT est l'un de ces signaux. Les appareils qui ne peuvent pas générer de PAT ne sont pas pénalisés.
Le protocole PAT est conçu pour préserver la confidentialité. Le jeton ne contient pas d'informations permettant d'identifier personnellement un appareil ou un utilisateur spécifique. reCAPTCHA vérifie que le jeton est valide pour confirmer que la requête provient d'un véritable appareil Apple.
Flux de demande de jeton d'accès privé
Il est possible que vous receviez une erreur 401 provenant d'une URL reCAPTCHA se terminant par /pat. Cette erreur fait partie du protocole PAT. Pour déterminer si un appareil peut générer un PAT, reCAPTCHA envoie un en-tête spécial dans une réponse qui rejette la requête initiale. Sur les appareils Apple compatibles, cet en-tête déclenche un flux qui relance la requête avec un PAT.
Cette erreur 401 n'empêche pas reCAPTCHA de fonctionner sur la page ni ne provoque d'autres erreurs. Lorsque vous cochez la case ou appelez execute, reCAPTCHA génère toujours un jeton valide.
Étapes suivantes
Pour en savoir plus sur la façon dont Apple utilise les jetons d'accès privé, consultez l'article Featuring Private Access Tokens (Présentation des jetons d'accès privé) sur le blog Apple Developer.