Как указать заголовок авторизации для источника в 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 }
}
}
}
});