Introduction
Lorsque j'ai choisi AWS Cognito pour gérer l'authentification de notre startup, je pensais avoir fait un choix judicieux. Après tout, l'intégration dans l'écosystème AWS et l'attrait des 50 000 utilisateurs actifs mensuels gratuits étaient séduisants. Mais, rapidement, ce rêve s'est transformé en cauchemar technique.
Une Documentation Déconcertante
AWS Cognito souffre d'une documentation qui semble avoir été écrite pour au moins cinq profils d'utilisateurs différents. Que tu sois un architecte d'entreprise cherchant à comprendre les protocoles d'identité sous-jacents ou un développeur frontend à la recherche d'une simple page de connexion, la documentation tente d'être tout pour tout le monde, sans réussir à être vraiment utile pour quiconque.
La navigation dans la documentation est un vrai labyrinthe, un enchevêtrement de liens hypertextes et de prières. Par exemple, chercher "validation d'attribut personnalisé Cognito" peut te mener sur une page qui commence par un paragraphe sur les schémas de répertoire, présumant que tu as déjà lu quatre autres pages.
Amplify et Les Dangers des Versions
Nous avons commencé avec la version 5 d'Amplify, et tout fonctionnait bien. Mais en revenant pour corriger un bug, j'ai découvert des avertissements de dépréciation. En mettant à jour vers la version 6, j'ai été surpris de voir que l'architecture avait changé fondamentalement, rendant mon code obsolète. Cela signifiait réécrire des parties significatives de notre flux utilisateur.
Problèmes de Compatibilité
Un autre défi majeur a été la compatibilité entre les différentes bibliothèques et SDKs. La documentation ne précise pas toujours quelle version est utilisée, te laissant jouer au détective avec les imports. Cela a conduit à des heures de débogage et d'essais, prenant un temps précieux qui aurait pu être consacré à l'innovation.
Alternatives Plus Simples
Pour une startup, chaque minute compte. Des solutions comme Auth0 ou Firebase offrent une documentation plus claire et une intégration plus fluide. Firebase, par exemple, propose un excellent support pour les applications mobiles avec des SDKs natifs bien documentés.
Conclusion
Si je devais recommencer, je choisirais une option plus simple et plus adaptée aux startups. AWS Cognito peut convenir aux grandes entreprises avec des équipes dédiées à gérer sa complexité. Pour une startup, il est préférable de choisir une solution plus directe.
Discutons de ton projet en 15 minutes.