代码之家  ›  专栏  ›  技术社区  ›  rbrundritt

向磁贴请求添加标头值

  •  0
  • rbrundritt  · 技术社区  · 3 年前

    是否有任何方法可以在ArcGIS 4.9中向平铺请求添加标题值。我在用 WebTileLayer 我连接到的磁贴服务器使用Azure Active Directory身份验证,这需要在每个磁贴请求的标头中传递详细信息。

    我试过用拦截器

    esriConfig.request.interceptors = [{
        urls: [/atlas.microsoft.com/],
        before: async function (params) {
            params.requestOptions.headers = {
                'x-ms-client-id': clientId,
                Authorization: 'Bearer ' + token
            };
        }
    }];
    

    我也试过:

    esriConfig.request.interceptors.push({
        urls: [/atlas.microsoft.com/],
        authMode: 'anonymous',
        headers: {
            'x-ms-client-id': clientId,
            Authorization: 'Bearer ' + token
        }
    });
    

    但是标头值永远不会添加到图块请求中。

    0 回复  |  直到 3 年前
        1
  •  2
  •   rbrundritt    3 年前

    终于想通了。在ArcGIS JavaScript API的4.9及以下版本中,会忽略图像请求的头。这在4.10版本中得到了修复。

    在我的例子中,一旦我指向4.10版本,以下内容就添加了我需要的标题来平铺请求:

    esriConfig.request.interceptors.push({
        urls: [/atlas.microsoft.com/],
        headers: {
            'x-ms-client-id': clientId,
            Authorization: 'Bearer ' + token
        }
    });