Explainers

Clé de site reCAPTCHA Enterprise et clé API : guide de configuration

Envoyez le sitekey 6L... lu dans la page, jamais la clé AIzaSy... issue de Google Cloud : des deux clés que manipule reCAPTCHA Enterprise, une seule sert à la résolution. Elles vivent dans la même console, sans le même propriétaire ni le même niveau de confidentialité : d'où ces tâches refusées dès l'envoi, avec un message d'erreur qui ne dit jamais laquelle est en cause.

Règle de base : la clé 6L... est publique et part à l'API de résolution ; la clé AIzaSy... ne quitte jamais le serveur du site.

Reconnaître la bonne clé en dix secondes

Propriété Sitekey Clé API
Format 6L... (40 caractères) AIzaSy... (39 caractères)
Visibilité Publique (HTML/JS) Privée (serveur uniquement)
Rôle Charger le widget CAPTCHA Faire évaluer le token par Google
Où la lire Source de la page, appels JS Configuration serveur, variables d'env.
Utile à CaptchaAI ? Oui Non

Avant d'envoyer une tâche, une seule question compte : la valeur commence-t-elle par 6L ? Sinon, vous tenez la clé du projet Google Cloud du site, et elle ne vous servira à rien.

Le sitekey 6L... : la clé publique du widget

Le sitekey est écrit en clair dans le HTML et indique au navigateur quelle configuration reCAPTCHA charger :

<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>

Il apparaît aussi dans un appel grecaptcha.enterprise.execute :

grecaptcha.enterprise.execute('6LcR_RsTAAAAADge...', { action: 'login' });
  • Il commence par 6L, comme un sitekey reCAPTCHA standard.
  • Il est visible dans la source de la page : public par conception.
  • Il est rattaché à des domaines autorisés dans Google Cloud Console.
  • C'est la seule valeur dont CaptchaAI a besoin pour produire un token.

La clé API AIzaSy... : la vérification côté serveur

La clé API authentifie l'appel que le backend du site adresse à Google pour faire évaluer un token :

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=AIzaSy...
  • Elle commence par AIzaSy, le format des clés Google Cloud.
  • Elle n'apparaît jamais dans le code exécuté par le navigateur.
  • Elle appartient au propriétaire du site, pas à qui automatise.
  • CaptchaAI n'en a pas besoin et ne doit jamais la recevoir.

Qui utilise quelle clé dans le flux Enterprise

  1. Le navigateur charge enterprise.js avec le sitekey.
  2. Le navigateur exécute le défi et obtient un token.
  3. Le backend du site transmet ce token et sa clé API à l'endpoint assessments.
  4. Google renvoie un score de risque et ses motifs d'évaluation.
  5. Le backend du site accepte ou refuse la soumission selon ce score.

CaptchaAI n'intervient que sur les étapes 1 et 2 : il produit un token valide à partir du sitekey. Les étapes 3 à 5 restent entre le site et Google — une clé AIzaSy... n'a rien à faire dans votre pipeline.

Ce qui change entre Enterprise et le reCAPTCHA standard

Enterprise déplace la gestion des clés vers Google Cloud et change l'endpoint de vérification.

Caractéristique Standard (gratuit) Enterprise
Origine du sitekey Console d'administration reCAPTCHA Google Cloud Console
Endpoint de vérification siteverify assessments
Authentification Clé secrète (secret partagé) Clé API ou compte de service
Réponse du score Champ score (0,0–1,0) riskAnalysis.score et motifs
Type de tâche CaptchaAI RecaptchaV2Task / RecaptchaV3Task RecaptchaV2EnterpriseTask / RecaptchaV3EnterpriseTask

Récupérer le sitekey d'une page cible

Méthode Ce qu'elle donne Quand la préférer
Source de la page Le paramètre render du script Widget présent dans le HTML
Console JavaScript L'attribut data-sitekey Widget injecté après le chargement
Onglet Réseau L'URL ou le payload de la requête Widget monté tardivement

Méthode 1 : lire la source de la page

Cherchez enterprise.js dans le HTML servi, puis relevez la valeur du paramètre render :

View Source → Ctrl+F → "enterprise.js"
<script src="https://www.google.com/recaptcha/enterprise.js?render=6LcR_RsTAAAAADge..."></script>

Méthode 2 : interroger la console JavaScript

// Check for Enterprise grecaptcha
if (window.grecaptcha && window.grecaptcha.enterprise) {
  console.log('reCAPTCHA Enterprise detected');
}

// Find site key from rendered widgets
document.querySelectorAll('[data-sitekey]').forEach(el => {
  console.log('Site key:', el.getAttribute('data-sitekey'));
});

Méthode 3 : filtrer l'onglet Réseau

Filtrez les requêtes sur enterprise.js ou recaptcha/enterprise : le sitekey apparaît dans l'URL ou dans le payload. C'est la méthode la plus fiable quand un framework injecte le widget après le premier rendu.

Envoyer le sitekey à l'API CaptchaAI via googlekey

POST https://ocr.captchaai.com/in.php
Paramètre Valeur Requis
key Votre clé API CaptchaAI (YOUR_API_KEY) Oui
method userrecaptcha Oui
googlekey Le sitekey lu dans la page (6LcR_Rs...) Oui
pageurl L'URL complète où le défi apparaît Oui
enterprise 1 (signale une variante Enterprise) Oui
enterprise_type v2 ou v3 Enterprise Facultatif
action Le nom de l'action, pour v3 Enterprise Facultatif

Un cas concret : la recette d'un back-office européen

Une équipe QA lyonnaise valide chaque nuit le formulaire de connexion d'un back-office hébergé chez OVHcloud. Sa préproduction répond sur un sous-domaine dédié : son sitekey diffère de celui de la production, puisque les domaines autorisés ne sont pas les mêmes dans Google Cloud Console. Trois réflexes suffisent :

  • Ne codez pas le sitekey en dur. Lisez-le à l'exécution, sur l'URL réellement testée.
  • Dimensionnez en threads simultanés. La facturation CaptchaAI se fait au thread, avec des résolutions illimitées par thread : un plan BASIC ($15/mois, 5 threads) couvre une suite qui enchaîne cinq connexions en parallèle.
  • Gardez le RGPD en tête. Ne journalisez ni le token ni les données saisies dans le formulaire de test.

Erreurs de configuration et correctifs

Problème Cause Correctif
ERROR_WRONG_CAPTCHA_ID Clé API envoyée à la place du sitekey Reprenez la clé 6L... de la page
Token refusé par le site Mauvaise variante Enterprise Corrigez enterprise_type
« Invalid sitekey » Clé d'un autre environnement Extrayez-la depuis l'URL cible exacte
Défi traité comme un reCAPTCHA classique Indicateur Enterprise absent Ajoutez enterprise=1
Score v3 Enterprise toujours bas action absent ou divergent Copiez la valeur de l'appel execute

Questions fréquentes

Le sitekey change-t-il entre la préproduction et la production ?

Presque toujours : un sitekey est lié à des domaines autorisés, donc chaque environnement a le sien. Traitez-le comme une valeur de configuration, pas comme une constante figée dans le dépôt.

Que faire si la clé lue commence par AIzaSy ?

Ne l'envoyez pas : cette clé Google Cloud privée n'a rien à faire dans une requête de résolution. Reprenez la valeur du paramètre render ou de l'attribut data-sitekey.

CaptchaAI prend-il en charge hCaptcha si le site migre depuis reCAPTCHA Enterprise ?

Non — hCaptcha n'est pas pris en charge, pas plus que FunCaptcha. Les variantes reCAPTCHA v2 et v3 Enterprise le sont, comme Cloudflare Turnstile et GeeTest v3.

Articles connexes

Passer à la pratique

Repérez le sitekey 6L... de votre page cible, récupérez votre clé API CaptchaAI et envoyez votre première tâche avec enterprise=1.

Les commentaires sont désactivés pour cet article.