# Web mapping services ## Features This service is the unique entrypoint of the map in the portal toward the geographical services of the datasets hosted on our platform. It proxifies two services: * `WMS` * `MVT` Depending on the dataset's license, those services might be in open access or restricted access. Our goal is to display to a particular user exactly what it's access are allowing him to see. It wasn't possible to add the authentication pieces as the map services are expecting it (basic auth) directly from the web application this is why we created this proxy. In order for the map to work properly and to always be able to display the full data on the portal, it has been decided that WMS would always be opened even if the user doesn't have access to the dataset. ## Dependencies This proxy has two dependencies: * `Elasticsearch`: used to verify whether the user has access to the requested service and for the specified layer * `MapServer`: which expose the WMS and MVT services ## Endpoints It provides two endpoints: * `/wms`: which proxy request to the WMS service * `/mvt`: which proxy request to the MVT service ## Implementation This proxy has been written in [Node.js](https://nodejs.org/) and based on [http-proxy](https://github.com/http-party/node-http-proxy) node module.