Ouvrez votre API REST publique sans baisser la garde : auth Bearer, gating de scope, CORS & rate-limit
API REST publique auth Bearer, gating de scope, CORS & rate-limit une fonctionnalité du module Jetons API, webhooks & API REST de Clustraly. La couche de sécurité de l'API REST Clustraly : elle authentifie chaque appel par jeton Bearer, contrôle le scope par route et limite le débit.
Chaque appel à /api/v1 traverse une chaîne de garde-fous : jeton Bearer valide, scope autorisé pour la route, CORS maîtrisé et débit cadencé par jeton. Vous décidez qui accède à quoi ; la plateforme applique la règle à chaque requête, sans exception.
Aucun appel anonyme ne passe
Chaque endpoint /api/v1 réclame un en-tête Authorization: Bearer résolu vers un jeton actif. Sans jeton valide, la requête est refusée avant d'atteindre vos contenus.
Le refus est explicite : un 401 en JSON accompagné d'un en-tête WWW-Authenticate, pour que l'intégrateur comprenne immédiatement ce qui manque.
- En-tête Bearer obligatoire sur toute route /api/v1
- 401 JSON + WWW-Authenticate si le jeton est absent ou invalide
- Résolution vers une ligne de jeton active, non révoquée et non expirée
- Appliqué par ApiAuthMiddleware
Un jeton de lecture ne peut jamais écrire
Le contrôle s'exerce route par route : les lectures exigent content:read, les écritures content:write. Un jeton limité à la lecture est bloqué sur toute route d'écriture.
Besoin d'un accès complet ? Le joker '*' satisfait n'importe quel scope. Sinon, un 403 insufficient_scope en JSON signale précisément le droit manquant.
- content:read pour lire, content:write pour créer et mettre à jour
- Joker '*' pour un accès complet
- 403 JSON insufficient_scope quand le scope est insuffisant
- Appliqué par ApiScopeMiddleware
Une intégration emballée ne fait pas vaciller votre site
Chaque jeton dispose de sa propre limitation de débit via le bucket « api ». Un client trop bavard est freiné sans pénaliser les autres intégrations ni vos visiteurs.
- Limitation de débit appliquée par jeton (bucket « api »)
- Isolation : un jeton bruyant n'affecte pas les autres
- Vos contenus publics restent servis sereinement
Vos applications web appellent l'API proprement
Le CORS est pris en charge nativement, avec un repli de préflight sur les requêtes OPTIONS. Vos front-ends site headless, tableau de bord, application monopage dialoguent avec /api/v1 sans bricolage.
- CORS géré sur le groupe /api/v1
- Repli de préflight sur les requêtes OPTIONS
- Prêt pour un usage headless ou monopage
Les mêmes règles, sur chaque route, sans oubli
Les garde-fous s'appliquent d'abord au groupe de routes, puis se resserrent route par route. Auth, scope, CORS et rate-limit forment une chaîne cohérente que chaque requête traverse.
Résultat : impossible d'exposer par mégarde un endpoint sans authentification ou sans contrôle de scope.
- Middlewares appliqués au groupe, puis affinés par route
- Chaîne cohérente : auth, scope, CORS, rate-limit
- Aucun endpoint /api/v1 hors du périmètre de sécurité
L'IA propose, vous décidez
Vous distribuez les jetons, choisissez leurs scopes et fixez leurs limites. À chaque requête, l'API applique exactement ce que vous avez décidé ni plus, ni moins.
Questions fréquentes
Que se passe-t-il si un appel arrive sans jeton Bearer ?
Quelle est la différence entre content:read et content:write ?
Comment fonctionne la limitation de débit ?
Puis-je appeler l'API depuis un front-end dans le navigateur ?
Fonctionnalités liées
Jetons API liste et statuts
Consulter la liste • Voir le préfixe masqué • Voir propriétaire/scopes/dernière
DécouvrirCréation de jeton avec révélation unique du secret
Créer un jeton • Choisir les scopes • Fixer l'expiration • Copier le secret • Jo
DécouvrirRévocation de jeton
Révoquer • Confirmer • Journaliser (audit)
DécouvrirOuvrez votre contenu, gardez la main
L'API REST publique de Clustraly reste fermée par défaut et ne s'ouvre que sur vos conditions : jeton Bearer valide, scope autorisé, CORS maîtrisé, débit limité par jeton. Créez un jeton, choisissez ses scopes, et laissez la plateforme faire respecter votre décision à chaque appel le tout appliqué par ApiAuthMiddleware et ApiScopeMiddleware sur le groupe /api/v1.