Bonjour à tous,
Je suis en train de développer un backoffice en flutter web, mais je rencontre un problème CORS.
J’ai créé mon serveur avec un fichier Docker.compose selon les recommandations de @mbritto
Sur mon serveur de production cela fonctionne bien avec CORS_ORIGIN, mais pour continuer à travailler, j’ai besoin de développer une version en localhost. Et c’est là que ça coince.
Impossible d’avoir accès à ma web app avec Chrome. J’ai toujours un refus CORS.
Quelqu’un saurait-il comment configurer le fichier Docker.compose pour que Chrome laisse passer mes requêtes sur localhost ?
J’espère avoir été suffisamment clair.
En vous remerciant.
Benoît
1 « J'aime »
Salut!
Le principe de CORS est que le serveur (ici ton directus) doit lister les domaines autorisés à lui demander des choses.
La propriété à utiliser est donnée ici normalement : https://docs.directus.io/self-hosted/config-options.html#cors
Je n’ai pas testé, mais je mettrais quelque chose comme ça (remplace 12345 par le port de ton serveur de test web) :
CORS_ENABLED: 'true'
CORS_ORIGIN: 'http://localhost:12345'
Tu peux même faire encore plus simple pour ton serveur de dev :
CORS_ENABLED: 'true'
CORS_ORIGIN: '*'
Attention, je te déconseille de laisser le * en production ; ça voudrait dire que tous les sites du monde auraient le droit de consommer les données de ton API directus.
1 « J'aime »
Bonjour @mbritto,
Merci pour ta réponse.
C’est bien comme tu me l’indiques que j’ai configuré mon fichier composé.yml. (Et bien entendu, cela sera changé pour la production, donc ajouté dans le fichier compose.override.yml)
CORS_ENABLED: 'true'
CORS_ORIGIN: '*'
Mais j’ai toujours l’erreur que je retrouve dans la console javaScript
Access to XMLHttpRequest at 'http://localhost/auth/login' from origin 'http://localhost:51842' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
Impossible de faire tourner ma webapp sur mon Directus en localhost… 
Je tourne en rond, et j’avoue ne plus trop avoir de pistes à explorer.
Si quelqu’un à une idée 
Content que tu aies trouvé la solution 
Happy Coding!