Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 基于通配符路由的Esri arcgis请求拦截_Reactjs_Authorization_Arcgis_Esri_Arcgis Js Api - Fatal编程技术网

Reactjs 基于通配符路由的Esri arcgis请求拦截

Reactjs 基于通配符路由的Esri arcgis请求拦截,reactjs,authorization,arcgis,esri,arcgis-js-api,Reactjs,Authorization,Arcgis,Esri,Arcgis Js Api,我正在尝试在react应用程序中实现一个MapLayer。映射只能通过代理访问,代理需要身份验证来识别每个终端请求的用户 为了提供令牌,我添加了以下请求拦截器,以确保访问该后端的所有调用都将通过授权扩展。如果我这样做,则不会向请求添加头 esriConfig.request.interceptors.push({ urls: ['backend/api/*'], before: async function (params: any) { params.requestOption

我正在尝试在react应用程序中实现一个MapLayer。映射只能通过代理访问,代理需要身份验证来识别每个终端请求的用户

为了提供令牌,我添加了以下请求拦截器,以确保访问该后端的所有调用都将通过授权扩展。如果我这样做,则不会向请求添加头

esriConfig.request.interceptors.push({
  urls: ['backend/api/*'],
  before: async function (params: any) {
    params.requestOptions.headers = {
      Authorization: 'Bearer ' + token),
    };
  },
});
如果我删除URL参数,以便使用令牌扩展所有路由,我将收到一些cors错误,因为esri包还对另一个api进行了一些调用,在那里我被阻止,因为我发送了一个不期望的授权标头

其他api:


如何确保只有对我的api的请求才会使用自动化头进行扩展?

我认为正则表达式中有一个错误,您需要像这样逃离该条,
“backend\/api”
才能捕获它。顺便说一句,我认为您不需要
*