IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

clé API sur localhost:NN


Sujet :

IGN API Géoportail

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 198
    Points : 137
    Points
    137
    Par défaut clé API sur localhost:NN
    Bonjour,
    il y a un moment que je voulais signaler ce point: si le serveur web tourne sur un port non standard, comme il est parfois utile de le faire pour en avoir plusieurs sur une machine, les clés API refusent les accès. Un référer de la forme http://localhost/.* est ok; mais la forme http://localhost:8080/.* ne l'est pas.
    Serait-il possible de changer le contrôle localhost pour répondre à ce défaut ?

  2. #2
    Membre confirmé Avatar de acarme
    Femme Profil pro
    Ingénieur d'études en Géomatique
    Inscrit en
    Avril 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études en Géomatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 237
    Points : 522
    Points
    522
    Par défaut
    Bonjour,

    pouvez-vous nous donner un exemple concret (la requête) avec le message d'erreur associé?

    nous avons testé le cas suivant qui ne pose pas de problème chez nous :
    referer = http://localhost
    url navigateur = http://localhost:1234

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 198
    Points : 137
    Points
    137
    Par défaut
    Bien sûr, votre exemple fonctionne puisque le référer est locahost. Mais dans un cas réel, si le serveur est disons localhost:8888 l'API envoie des requêtes dont le Referer est localhost:8888. Et là ça coince.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    La requête: http://wxs.ign.fr/7puwgb1zdyt7xn9yjsn94u5k/geoportail/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=19&TILEROW=189151&TILECOL=270225&FORMAT=image%2Fjpeg
    
    entête Referer	http://localhost:8888/www/test_api.php 
    
    xml d'erreur: <ExceptionReport><Exception exceptionCode="MissingRights">Wrong referer</Exception></ExceptionReport>

  4. #4
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    Bonsoir,

    j'avoue ne pas cerner le problème...

    La clé présentée n'a pas "localhost" dans ses referers autorisés. Il est donc normal que la requête mentionnée ne fonctionne pas. De la même façon, un requête avec un referer "http://localhost/www/test_api.php" n'aurait pas fonctionnée.

    Est-ce que vous pouvez préciser le problème ?

    Thibault

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    J'ai le même écueil 3 ans plus tard...

    L'API IGN ne supporte que le referer renseigné dans le contrat lors de la création du compte par exemple monsupersite.com ou localhost.
    Le besoin est simple: il faudrait l'API IGN supporte les 2 cas actuels ET supporte aussi quand le referer est du type localhost:* (où * est n'importe quel port de 1024 à 65535)

    En effet, quand on développe en local sur sa machine, on utilise le serveur de dev fournit par son framework ou son language de programmation. Ex sur Python, le serveur intégré est sur le port 8000 par défaut, sur webpack (outil lié à Node pour le développement front) le 8080, etc...
    Le problème est que ce serveur ne tourne pas par défaut sur le port 80 (localhost étant le raccourci pour localhost:80).
    Lorqu'on recharge une page web sur webpack, le referer est donc 8080 et cela "coince" avec une erreur 403 "<ExceptionReport
    ><Exception exceptionCode="MissingRights">Wrong referer or wrong IP Adress or wrong User-Agent</Exception></ExceptionReport>")

    Je pourrais en théorie changer le port sur ces outils? Oui sur le papier, non en pratique car il faut des droits administrateur pour faire tourner un serveur avec un port < 1024 et ces outils ne peuvent pas toujours être utilisé en tant qu'administrateur...

    Comment je fais alors?
    Pour pouvoir servir des pages web avec le port 80, je dois installer et configurer Apache qui permet lui de servir la page avec l'API sur le port 80
    Personnellement, cela fait 3 à 5 ans que je n'installe plus Apache sur mon poste en tant que développeur: j'utilise le serveur de dev de mon language de programmation favori.

    Conclusion: n'autoriser que localhost sans autoriser localhost:* ajoute une contrainte sans apporter d'avantage au développeur


    PS: Je joue l'avocat du diable car je sais configurer Apache mais clairement c'est une perte de temps. Cela n'apporte aucune valeur à votre produit et cela complique la vie des développeurs, risquant de les décourager.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Je me répond à moi-même. Il s'avère que l'IHM pour paramétrer le referer permet maintenant de contourner pour avoir le support de localhost et localhost:*. Il faut renseigner dans le champ "Valeur de sécurisation"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    localhost,localhost:.*/.*,mondomaine.com

    Il fallait deviner J'espère que cela aidera les autres personnes confrontées au problème.

  7. #7
    Membre confirmé

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 282
    Points : 632
    Points
    632
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Quand on crée un contrat et une clé, est indiqué pour une clé en sécurisation referer :
    Pour une utilisation dans un site web.
    Saisissez l'URL du site (en-tête HTTP referer), par exemple : "www.ign.fr".
    Vous pouvez saisir plusieurs URL séparées par des virgules et sans espace, par exemple : "www.ign.fr,professionnels.ign.fr".
    Le caractère joker ".*" peut remplacer une suite de caractères, par exemple ".*.ign.fr.*" autorisera une utilisation depuis les sites www.ign.fr ou professionnels.ign.fr

Discussions similaires

  1. JBoss GA 4.2.0 ne démarre que sur localhost?
    Par mbouzouita dans le forum Wildfly/JBoss
    Réponses: 9
    Dernier message: 25/10/2011, 09h41
  2. serveur qui n'ecoute que sur localhost
    Par Jérémy Lefevre dans le forum wxWidgets
    Réponses: 7
    Dernier message: 17/04/2007, 08h45
  3. Serveur SMTP sur Localhost avec Apache2
    Par yamadix dans le forum Apache
    Réponses: 3
    Dernier message: 16/04/2007, 13h10
  4. pb ajout api sur serveur [startup.sh]
    Par lilou77 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 07/11/2006, 08h50
  5. MS Crypto API, Bio API sur PDA
    Par n8ken dans le forum C++
    Réponses: 1
    Dernier message: 22/05/2006, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo