Amazon Cognito pour les stacks serverless AWS, où la forme de coût et l'intégration IAM dominent. Auth0 pour les produits B2B qui exigent du SSO d'entreprise, des organisations et une décennie de maturité. Clerk pour les produits React où l'expérience de connexion fait partie du produit lui-même. Les trois protègent un backend Node.js de la même façon, par vérification de JWT ; les vraies différences se jouent sur les courbes de coût, l'expérience développeur et les portes de sortie.
Pour quoi chaque fournisseur est-il réellement conçu ?
Cognito est de l'infrastructure : un annuaire d'utilisateurs branché sur IAM, API Gateway et AppSync, facturé et opéré comme n'importe quelle primitive AWS. Auth0 est une plateforme d'identité d'entreprise : fédération, organisations et extensibilité à la connexion, affinées depuis 2013. Clerk est une couche produit : composants React prêts à l'emploi et gestion de session pensés pour livrer des écrans d'authentification soignés en quelques heures.
Notre biais, énoncé franchement : sur une stack serverless AWS, Cognito gagne le plus souvent par la seule intégration. Quand l'UX d'authentification est le produit, onboarding grand public ou tableau de bord SaaS multi-tenant, Auth0 et Clerk justifient leur coût. Nous branchons les trois sur des backends Node.js dans le cadre de nos travaux d'intégration, et le choix se joue rarement sur le jeton : il se joue sur tout ce qui l'entoure.
Comment les formes de coût évoluent-elles avec les MAU ?
Cognito facture par utilisateur actif mensuel avec une franchise gratuite large, et la courbe reste quasi linéaire quand vous grandissez : pour de la connexion e-mail et sociale simple, c'est le moins cher des trois à l'échelle. Auth0 monte par paliers, et les fonctions B2B poussent tôt vers les plans supérieurs. Clerk se situe entre les deux.
La forme compte plus que n'importe quel chiffre. Chez Auth0, changer de palier peut multiplier la facture du jour au lendemain quand une fonction dont vous avez besoin, les connexions entreprise par exemple, est réservée à un plan supérieur. Clerk offre une franchise gratuite généreuse au démarrage, puis facture par MAU avec des options payantes pour les organisations. Vérifiez les pages à jour avant de vous engager : tarifs Cognito, tarifs Auth0 et tarifs Clerk. Les trois ont remanié leurs paliers ces dernières années : considérez comme périmée toute information vieille d'un trimestre.
Lequel s'intègre le mieux à un backend serverless AWS ?
Cognito, et de loin. API Gateway et AppSync acceptent un user pool Cognito comme authorizer natif : rien à écrire, déployer ou faire monter en charge vous-même. Les identity pools échangent les jetons contre des identifiants IAM restreints, ce qu'aucun des deux concurrents ne réplique. Auth0 et Clerk s'intègrent proprement, mais via du code de vérification qui vous appartient.
Dans un Lambda ou un conteneur Node.js, cette vérification est identique pour les trois, car chacun publie un endpoint JWKS standard ; la bibliothèque jose s'en charge en quelques lignes :
import { createRemoteJWKSet, jwtVerify } from "jose";
// Même code pour les trois fournisseurs, seul l'issuer change
const issuer = process.env.AUTH_ISSUER;
const jwks = createRemoteJWKSet(new URL(`${issuer}/.well-known/jwks.json`));
export async function verify(token) {
const { payload } = await jwtVerify(token, jwks, { issuer });
return payload; // sub, email, claims personnalisées
}
La différence, c'est tout ce que Cognito vous épargne avant que ce code ne s'exécute : un authorizer natif, des politiques IAM, le support CloudFormation et une facture unique. Les contreparties arrivent plus tard, dans les sections qui suivent.
Vous hésitez entre Cognito, Auth0 et Clerk pour un backend AWS ? Décrivez votre système : diagnostic d'une page sous 48 h.
Recevoir mon diagnostic →Qui gagne sur l'expérience développeur et l'UI hébergée ?
Clerk, largement. Ses composants React prêts à l'emploi pour la connexion, le profil utilisateur et le changement d'organisation semblent finis dès l'installation. L'Universal Login d'Auth0 est mûr et personnalisable moyennant un peu d'effort. L'UI hébergée de Cognito reste son point faible : theming limité et assez de bizarreries pour que beaucoup d'équipes finissent par construire leurs propres écrans.
Les aspérités de Cognito sont bien documentées : générations de SDK qui se chevauchent, surprises de sensibilité à la casse, parcours d'attributs laborieux. AWS retravaille ses pages de connexion managées, re-testez donc avant de l'écarter, mais c'est historiquement là que les projets perdent des jours. Clerk vise d'abord React et Next.js ; les SDK au-delà de cet écosystème existent mais sont plus jeunes. Auth0 couvre presque toutes les stacks et exécute de la logique personnalisée à la connexion via les Actions.
Et côté organisations B2B et conformité ?
Auth0 est la réponse la plus sûre aujourd'hui. Les organisations, les connexions SSO d'entreprise par client et un long historique de conformité en font le choix par défaut quand vous vendez à de grands comptes. Clerk propose aussi organisations et facturation B2B, mais c'est une société plus jeune avec historiquement moins de certifications : confrontez sa liste actuelle aux questionnaires sécurité de vos acheteurs.
Cognito sait fédérer des fournisseurs SAML et OIDC, mais le B2B multi-tenant reste à votre charge : associer les tenants à des app clients ou à des pools séparés, claims par tenant, outillage d'administration. Le multi-région est réellement difficile, les user pools étant des ressources régionales sans mode actif-actif managé. Si des contrats avec SSO par client figurent sur votre feuille de route, ce manque coûte plus cher que n'importe quel abonnement.
Face à face : où chacun l'emporte
Trois choix défendables, trois centres de gravité différents : Cognito est le choix infrastructure, Auth0 le choix entreprise, Clerk le choix produit. Voici le résumé que nous dessinons au tableau pendant les revues d'architecture, et la dernière ligne est celle qui tranche la plupart des débats.
| Critère | Cognito | Auth0 | Clerk |
|---|---|---|---|
| Forme de coût par MAU | Par MAU, franchise gratuite large, quasi linéaire à l'échelle | Plans par paliers, sauts brutaux, fonctions réservées par palier | Franchise gratuite, puis par MAU avec options payantes |
| Expérience développeur | Rugueuse : ergonomie datée, bizarreries connues | SDK mûrs, documentation solide | La meilleure des trois, composants prêts à l'emploi |
| Intégration AWS | Native : API Gateway, AppSync, IAM | Vérification JWT à votre charge | Vérification JWT à votre charge |
| Fonctions B2B | Fédération, mais multi-tenant à construire | Organisations, SSO entreprise, SCIM | Organisations, historique entreprise plus jeune |
| Verrouillage | Fort : hachés de mots de passe non exportables | Modéré : conditions d'export variables, à vérifier | Modéré : outillage de migration, conditions à vérifier |
| Quand il gagne | Stack serverless AWS, coût à l'échelle | SaaS B2B vendu aux grands comptes | Produit React où l'UX d'auth est le produit |
À quel point est-il difficile d'en partir ?
Plus difficile que ne l'admet aucune page commerciale, car la porte de sortie, ce sont les hachés de mots de passe de vos utilisateurs. Cognito ne les exporte pas : partir signifie réinitialisations forcées ou lent proxy de migration progressive. Auth0 et Clerk ont chacun proposé des exports de hachés sous des conditions qui évoluent ; obtenez les termes actuels par écrit avant de vous engager.
Tout le reste se déplace : les profils s'exportent, les connexions sociales se relient à la session suivante. Notre conseil constant : synchronisez les fiches utilisateurs vers votre propre base via webhooks dès le premier jour ; c'est à la fois une issue de secours et une source analytique. Consommez ces webhooks avec la même discipline d'idempotence que nous appliquons aux événements Stripe, car tout fournisseur d'identité livre en double.
Check-list de décision
- Backend sur API Gateway ou AppSync, pression sur les coûts à l'échelle : Cognito.
- Acheteurs grands comptes, SSO par client ou SCIM en feuille de route : Auth0.
- Produit React ou Next.js où l'UX d'authentification aide à vendre : Clerk.
- Avant toute signature : confirmez par écrit les conditions d'export des hachés de mots de passe.
- Dès le premier jour : répliquez les utilisateurs dans votre propre base via des webhooks idempotents.