CORS a failli me casser, mais ... Note

CORS a failli me casser, mais Preflight m'a sauvé la mise

L'auteur a initialement mis en place un système frontend-backend avec S3 pour le frontend, Apollo GraphQL pour le backend et API Gateway entre les deux. Ils ont rencontré des erreurs de partage de ressources d'origine croisée (CORS) qui empêchaient les requêtes frontend d'atteindre le backend. Le navigateur a bloqué les requêtes en raison d'un manque de confiance et de protocoles de sécurité. CORS n'est pas un bogue, mais plutôt une fonctionnalité de sécurité intégrée qui restreint les requêtes d'origine croisée. Le navigateur envoie une requête OPTIONS pour les vérifications préalables avant les requêtes réelles. Si le serveur ou API Gateway ne répond pas correctement pendant les vérifications préalables, le navigateur bloque la requête. La solution a consisté à gérer correctement les requêtes OPTIONS dans API Gateway. Le backend a ensuite explicitement autorisé le domaine frontend via des variables d'environnement. Le débogage des problèmes CORS nécessite de vérifier la requête préalable dans l'onglet Réseau. Une gestion appropriée de la préflight et de l'autorisation de domaine backend a résolu les maux de tête CORS.