Accès serveur depuis flutter web (pb CORS)

Bonjour,

Je viens de suivre le cours de @mbritto sur Docker et j’ai facilement pu installer un serveur chez Hetzner.
J’ai fait mon fichier compose.yml et suivi toutes les recommandations. Mon Directus tourne bien et tout fonctionne parfaitement depuis mon application mobile.
Par contre, depuis un site web réalisé avec flutter (back office de l’app) je n’arrive pas à me connecter à ce même serveur. En recherchant sur internet, il semblerait que ce soit un problème de CORS (Cross-origin resource sharing).

J’ai multiplié les recherches sur internet et j’avoue que ce problème reste obscure pour moi. Faut-il modifier le fichier caddyfile ?
Si quelqu’un a déjà rencontré ce type de problème et peut m’orienter sur une solution je lui en serais très reconnaissant.
Bien à vous les giraffons,

Benoit

Hello @Behache

Effectivement cela ressemble à un problème de CORS.

Dans ton fichier .env (ou docker-compose.yml selon ta config) tu peux rajouter les variables d’environnement suivantes :

CORS_ENABLED: "true"
CORS_ORIGIN: "ton-domaine.tld" # ou true pour tout autoriser

Cela résoudra peut être ton problème.

1 « J'aime »

Hello @isanforc,

Merci beaucoup, cela en effet résolu mon problème. Je n’étais pas du tout allé chercher la solution de ce coté là :crazy_face:

Merci à toi, je vais enfin pouvoir reprendre la finalisation de mon app.

:pray::pray::pray:

Et oui, le CORS est une sécurité qui permet d’éviter qu’un site internet se serve d’un autre site Internet sans sa permission.
Pour éviter les soucis, il faut donc que ta source de données (ici ton Directus) autorise ton site à l’exploiter.
Tu peux autoriser tous les sites (CORS_ORIGIN:*), ou seulement le tien si tu veux éviter que d’autres sites fassent appel à ton Directus (CORS_ORIGIN:tondomaine.com,tonautredomaine.fr.

Merci @mbritto pour ces infos complémentaires.
Et du coup c’est tellement facile à mettre en place avec Docker…

:pray:

1 « J'aime »