【发布时间】:2021-03-14 08:15:00
【问题描述】:
我正在尝试在我的反应应用程序中实现 MapLayer。该地图只能通过代理访问,该代理需要身份验证来识别每个请求的每一端的用户。
为了提供令牌,我添加了以下请求拦截器,以确保访问该后端的所有调用都将通过授权进行扩展。如果我这样做,则不会向请求中添加标头。
esriConfig.request.interceptors.push({
urls: ['backend/api/*'],
before: async function (params: any) {
params.requestOptions.headers = {
Authorization: 'Bearer ' + token),
};
},
});
如果我删除 urls 参数,以便使用令牌扩展所有路由,我会收到一些 cors 错误,因为 esri 包还会对另一个我被阻止的 api 进行一些调用,因为我正在发送一个授权标头,它是没想到。
其他接口: https://www.arcgis.com/sharing/rest/portals/self?f=json&culture=de-de
我如何确保只有对我的 api 的请求才会使用自动标头进行扩展?
【问题讨论】:
-
我认为你的正则表达式有错误,你需要像这样对栏进行转义,
'backend\/api'才能捕获它。顺便说一句,我认为您不需要*
标签: reactjs authorization arcgis esri arcgis-js-api