Open nicolaskempf57 opened 22 hours ago
A tout hasard https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS ? Normalement le serveurs peut fournir la liste des origins qu'il autorise lui même et le client est censé les accepter
Oui c'est ça, mais les URLs fournies proviennent de serveurs qui sont gérés par les utilisateurs de data.gouv.fr et non sur nos serveurs directement.
Et si côté serveur on détecte (ou sinon a stocké l'info a moment de l'enregistrement/moissonage) qu'on va répondre une ressource/lien qui est située sur un domain différent. Y a pas moyen d'ajouter le header adéquat à la volée pour fournir l'info au client ?
On peut faire ça si la requête du fichier OpenAPI est effectué du client vers notre serveur, qui lui ensuite fait la requête du fichier original vers le serveur externe.
Sent from Proton Mail for iOS
Le mer. 4 déc. 2024 à 12:35, rv2931 @.***(mailto:Le mer. 4 déc. 2024 à 12:35, rv2931 < a écrit :
Et si côté serveur on détecte (ou sinon a stocké l'info a moment de l'enregistrement/moissonage) qu'on va répondre une ressource/lien qui est située sur un domain différent. Y a pas moyen d'ajouter le header adéquat à la volée pour fournir l'info au client ?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Description du bug
Les fichiers OpenAPI des API sont téléchargés côté client et affiché via SwaggerUI dans udata-front.
Cela pose problème pour les URLs qui n'autorisent pas les requêtes d'autres noms de domaine (CORS).
Exemples :
Il est possible de gérer le problème au niveau de la configuration des serveurs pour les cas des API gérées en interne mais cela semble plus fastidieux pour les API d'autres institutions.
Comment reproduire le bug
Étapes à suivre pour faire apparaître le bug :
https://www.data.gouv.fr/fr/dataservices/api-gels-des-avoirs/
Swagger
Comportement attendu
Afin d'avoir accès aux fichiers OpenAPI depuis le navigateur, il faut forcément qu'ils disposent des bonnes en-têtes CORS.
Si l'on veut contourner ce problème, il faut soit mettre en place un proxy de notre côté qui récupère à la demande le fichier OpenAPI, soit stocker les fichiers chez nous.