x

Openlayers nutzt das OSM-TOTP-Token nicht


  1. Openlayers nutzt das OSM-TOTP-Token nicht · rainerU (Gast) · 05.10.2019 06:47 · [flux]

    Seit bald zwei Jahren setzt der Tileserver von openstreetmap.org TOTP-Tokens ein, um die Last durch Zugriffe zu steuern: klick. Der Server bietet den Clients das Token in einem Cookie an. Verwendet der Client das Cookie in seinen Tile-Request, profitiert er ggf. von einer bevorzugten Behandlung.

    Ich betreibe mehreren Webseiten, auf denen OSM-Tiles mittels Openlayers oder Leaflet genutzt werden. Ich habe nun festgestellt, dass einige Sites Zugriffszeiten von 2 bis 4 Sekunden pro Tile haben, während andere im Bereich von wenigen 10 bis 100 Millisekunden liegen. Beim genaueren Hinschauen zeigt sich, dass bei den Sites mit langen Zugriffszeiten das TOTP-Token nicht verwendet wird. Der OSM-Server sendet das Cookie mit jedem Tile, aber keine der Anfragen enthält diese. Offenbar hängt dies von der eingesetzten Openlayers-Bibliothek und deren Version ab. Sites, die mit Openlayers 2 arbeiten, nutzen das Token, Sites mit OL4 und OL6 nicht.

    Hat jemand ähnliche Beobachtungen gemacht? Ist dies ein Konfigurationsproblem, ein Bug oder ein Feature in Openlayers?


    • Re: Openlayers nutzt das OSM-TOTP-Token nicht · rainerU (Gast) · 05.10.2019 16:32 · [flux]

      Ich habe einen Workaround für das Problem gefunden. Bisher hatte ich den Layer mit der Klasse Source/OSM angelegt:

      tileLayer␣=␣new␣TileLayer({
      source:␣new␣OSM()
      })
      

      Nachdem ich das durch

      ␣␣␣␣␣tileLayer␣=␣new␣TileLayer({
      source:␣new␣XYZ({
      url:␣'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',
      })
      })
      

      ersetzt habe, werden die Tiles wieder wie gewohnt geladen.