Как указать заголовок авторизации для источника в mapbox-gl-js?

Как мне установить заголовок запроса для источника wms с mapbox-gl-js? Мне нужны все запросы на плитки, чтобы добавить заголовок, который выглядит так:

Authorization: "Bearer base64-encoded-token"

Пример WMS, map # addSource и map#addLayer, наводит меня на мысль, что невозможно установить заголовки запроса плитки.

1 ответ

Решение

Теперь вы можете использовать transformRequest возможность добавить пользовательский заголовок:

Обратный вызов запускается до того, как Карта запросит внешний URL-адрес. Обратный вызов может использоваться для изменения URL-адреса, установки заголовков или установки свойства учетных данных для запросов из разных источников. Ожидается, что вернуть объект с url собственность и опционально headers а также credentials свойства.

Пример:

var map = new mapboxgl.Map({
  container: 'map',
  center: [2.35, 48.86],
  zoom: 13,
  transformRequest: (url, resourceType)=> {
    if(resourceType == 'Source' && url.startsWith('http://myHost') {
      return {
       url: url,
       headers: { 'Authorization': 'Bearer ' + yourAuthToken }
     }
    }
  }
});
Другие вопросы по тегам