Intégrez le défi dans le navigateur,
validez le jeton sur votre serveur.
Le navigateur obtient une autorisation courte que votre serveur contrôle avant l’action protégée.
Les trois requêtes d’une validation.
L’intégration sépare le navigateur, Captyo et votre serveur applicatif.
- 01
Le navigateur demande un défi
Captyo choisit sa difficulté selon la politique de l’intégration et le contexte.
POST /api/challenge - 02
Deux vérifications s’exécutent
La preuve mathématique utilise PBKDF2 au niveau courant ou Argon2id quand le risque augmente. Un contrôle JavaScript éphémère s’exécute en parallèle.
POST /api/verify - 03
Le serveur consomme l’autorisation
L’action métier ne continue qu’après une réponse positive de Captyo.
POST /api/siteverify
Obtenez l’autorisation dans le formulaire.
La clé publique peut être intégrée dans la page. Le secret serveur ne doit jamais y apparaître. Utilisez Captyo.render pour afficher le contrôle ou Captyo.execute pour déclencher la vérification depuis votre interface.
<link rel="stylesheet"
href="https://www.captyo.com/assets/css/captyo.css">
<script src="https://www.captyo.com/assets/js/captyo.js" defer></script>
<div id="captyo"></div>
<script>
document.addEventListener('DOMContentLoaded', () => {
Captyo.render('#captyo', {
siteKey: 'cap_pk_…',
action: 'signup',
onSuccess: ({ token }) => envoyerAuServeur(token)
});
});
</script>API de validation.
Les trois requêtes utilisent JSON.
POST/api/challenge+
Évalue les règles de l’intégration et prépare un défi signé lié à l’action protégée.
- 200
- Défi à résoudre
- 429
- Trop de demandes
POST/api/verify+
Vérifie la réponse du navigateur et remet une autorisation lorsque la preuve est acceptée.
- 200
- Autorisation courte
- 400
- Preuve invalide ou expirée
POST/api/siteverify+
Consomme l’autorisation avant l’action métier. Une réponse positive débite un crédit.
- 200
- Action autorisée
- 400
- Jeton invalide, expiré ou déjà consommé
Validez le jeton avant l’action.
Ne faites jamais confiance au seul état affiché dans la page. Votre serveur doit contrôler l’autorisation avant le traitement métier.
POST https://www.captyo.com/api/siteverify HTTP/1.1
Authorization: Bearer cap_sk_…
Content-Type: application/json
{
"token": "autorisation_reçue_du_navigateur"
}Rôles du navigateur et du serveur.
Dans le navigateur
- Demander le défi au moment utile
- Exécuter les preuves dans les Workers
- Remettre l’autorisation à votre serveur
- Ne jamais choisir son propre niveau
Côté serveur
- Valider l’autorisation avant l’action
- Refuser les jetons expirés ou déjà consommés
- Conserver vos contrôles métier
- Traiter explicitement les réponses d’erreur
Explorez chaque requête.
Consultez les schémas, exemples et codes de retour dans la référence interactive.