# CAPTCHA - Nœud de workflow | Docs - nodulz

Source: https://nodulz.com/fr/docs/nodes/captcha

Language: fr

Valider un CAPTCHA côté serveur : Cloudflare Turnstile, Google reCAPTCHA v2/v3 ou hCaptcha.

## Utilisation et spécificités

Le token vient du formulaire client ; la validation utilise le secret côté serveur. Vérifiez hostname, action et le score pour reCAPTCHA v3. Le secret peut provenir d’un identifiant de variables.

Type technique : `captcha`. Runtime : `nodulz`.

## Identifiants et prérequis

- [Créer et configurer l’identifiant : captcha](/docs/credentials/captcha)

Créez l’identifiant dans la rubrique Identifiants de votre instance nodulz, puis sélectionnez-le dans le nœud. Les identifiants disponibles dépendent du propriétaire et du partage. Consultez le [guide des identifiants](/docs/credentials) pour les accès et la rotation.

## Paramètres

Les noms ci-dessous correspondent aux clés techniques. Les valeurs par défaut ne constituent pas une configuration prête à exécuter : renseignez les champs requis par votre opération. Les chemins contenant [] décrivent les éléments d’une liste ; certains champs dépendent du mode sélectionné.

| Paramètre | Type | Par défaut | Valeurs / limites |
| --- | --- | --- | --- |
| `provider` | `enum` | `"turnstile"` | `turnstile`, `recaptcha_v2`, `recaptcha_v3`, `hcaptcha` |
| `credentialId` | `string` | `""` | - |
| `secretName` | `string` | `"CAPTCHA_SECRET"` | - |
| `token` | `string` | `"{{ input.body[\"cf-turnstile-response\"] }}"` | - |
| `remoteIp` | `string` | `""` | - |
| `siteKey` | `string` | `""` | - |
| `expectedHostname` | `string` | `""` | - |
| `expectedAction` | `string` | `""` | - |
| `minScore` | `number` | `0.5` | -; ≥ 0, ≤ 1 |
| `failOnInvalid` | `boolean` | `true` | - |
| `timeoutMs` | `number` | `10000` | -; ≥ 100, ≤ 30000 |

## Aide de configuration

| Réglage | Rôle et conseils |
| --- | --- |
| `credentialId`<br>Identifiant de secrets | Créez un identifiant de type Variables secrètes contenant la clé secrète du fournisseur. Elle reste chiffrée dans Nodulz. |
| `secretName`<br>Nom de la variable secrète | Nom de la variable contenant la clé secrète dans cet identifiant, par exemple CAPTCHA_SECRET. Ne saisissez pas la clé ici. |
| `token`<br>Jeton CAPTCHA | Jeton envoyé par le formulaire. Utilisez une expression ou glissez le champ depuis les données du webhook. |
| `expectedHostname`<br>Domaine attendu | Recommandé : domaine exact du formulaire, sans protocole ni chemin. Un domaine différent ou absent sera refusé. |
| `expectedAction`<br>Action attendue | Action configurée dans le widget, comparée exactement. Obligatoire pour reCAPTCHA v3 ; facultative pour Turnstile. |
| `minScore`<br>Score minimum | reCAPTCHA v3 : accepte un score supérieur ou égal à ce seuil (0 à 1). Un score absent est refusé. |
| `siteKey`<br>Clé publique du site | hCaptcha : clé publique recommandée pour lier la vérification au widget attendu. |
| `remoteIp`<br>Adresse IP du visiteur | Facultatif. Utilisez uniquement une adresse déterminée par une source de confiance, pas une valeur libre du formulaire. |
| `failOnInvalid`<br>Arrêter si le CAPTCHA est refusé | Activé par défaut. Désactivez pour obtenir success=false, puis utilisez un nœud Si avant les actions protégées et une réponse webhook 403. Les erreurs réseau arrêtent toujours le nœud. |

## Configuration initiale

Exemple de configuration initiale du catalogue, à adapter avant exécution. Les secrets doivent rester dans les identifiants.

```json
{
  "provider": "turnstile",
  "credentialId": "",
  "secretName": "CAPTCHA_SECRET",
  "token": "{{ input.body[\"cf-turnstile-response\"] }}",
  "expectedHostname": "",
  "expectedAction": "",
  "minScore": 0.5,
  "failOnInvalid": true
}
```

## Vérification

Testez le nœud avec des données représentatives. Contrôlez sa sortie dans l’inspecteur et les logs, puis utilisez le mapping de l’éditeur pour les champs des nœuds suivants. Un test de déclencheur avec payload simulé ne valide pas la livraison du service externe.

Voir aussi : [Expressions et données](/docs/expressions), [Exécutions](/docs/executions), [Catalogue des nœuds](/docs/nodes).

## Pour aller plus loin

- [Fonctionnalités - nodulz](https://nodulz.com/fr/product/overview)
- [Catalogue des nœuds - nodulz](https://nodulz.com/fr/product/catalog)
- [Serveur MCP - nodulz](https://nodulz.com/fr/product/mcp)
- [Tarifs - nodulz](https://nodulz.com/fr/pricing)
- [Cas d’usage et automatisations - nodulz](https://nodulz.com/fr/use-cases)
- [Choisissez ce que vos workflows peuvent faire. - nodulz](https://nodulz.com/fr/compare)
- [Documentation - nodulz](https://nodulz.com/fr/docs)
