当前位置: 首页 > 知识库问答 >
问题:

如何在使用传单 js 时附加带有令牌的授权标头

丌官霖
2023-03-14

我用传单在我的角。js地图应用程序。我的一个资源需要一个带有令牌的授权头。我正在使用传单实时插件(在这里找到:https://github.com/perliedman/leaflet-realtime)获取地图更新,因此需要能够在实时执行获取数据时指定我的头。

我首先尝试使用另一个库fetch-intercept(在这里找到:https://github.com/werk85/fetch-intercept)来拦截请求并附加标头,但是拦截器被忽略了。我在拦截器中包含了一个console.log,但它从未被访问过。

经过更多的研究,我注意到应该支持指定标头:https://github.com/perliedman/leaflet-realtime/pull/83。但是,我找不到有关如何正确附加授权令牌的示例。以下是我目前正在尝试的内容:

this.mapRealtime = L.realtime({
  url: this.getRealtimeUrl(),
  crossOrigin: true,
  headers: {"Authorization": "token"},
  type: 'json',
}, 

然而,当我从我的web浏览器(Chrome)调试控制台检查网络日志时,我看到的请求头是:

显示了临时标题

访问控制请求标头:授权

访问控制请求方法:GET

服务器返回错误类型为MissingAuthenticationTokenException的状态403。

谁能提供一个如何正确附加令牌的示例?谢谢

共有1个答案

祁宾白
2023-03-14

实时传单只采用url或json文件路径,您将无法传递标头(auth),因为它们有不起作用的补丁。我遇到了同样的问题。我所做的是遵循:

 realtime = (L as any).realtime(async function (success, error) {
    let geodataJson = await self.updateGeoJson();
    success(geodataJson);
  }, {
    interval: 15 * 1000,
    onEachFeature: onEachFeature,......

我已经将函数传递给了realtime,在这个函数中,我调用了带有标题的简单API

async  updateGeoJson() {
await this.api.getMarkersGeoJson().subscribe((res: any) => {
  this.geoData = res;
});
return this.geoData; }

第一次调用时,它不会从此函数获取数据,因此我们还需要在initmap之前在ngOnInit中this.geoData加载数据。对我来说,它正在工作,我知道这只是工作,但这个问题仍然在实时传单中。希望这对你有用

 类似资料:
  • 我有一个请求URI和一个令牌。如果我使用: 等等,我得到一个200并查看相应的JSON数据。所以,我安装了请求,当我试图访问这个资源时,我得到了一个403,可能是因为我不知道传递该令牌的正确语法。有人能帮我弄清楚吗?这就是我所拥有的: 我已经试过了: 但这些都不管用。

  • 我正在尝试连接到FatSecret API。这是他们为oauth2授权提供的留档链接:https://platform.fatsecret.com/api/Default.aspx?screen=rapiauth2#using-token-api 我已经完成了第一步和第二步,现在我被困在第三步。我已经设法用“application/json”更新了标题,但我不确定我的调用是否包括我创建的令牌。我得

  • 我们不允许寻求书籍、工具、软件库等推荐的问题。你可以编辑这个问题,以便用事实和引用来回答。 我正在通过DRF(Django-rest-framework)实现令牌认证。到目前为止,我知道在令牌认证中,您用服务器已经为每个用户生成的令牌来交换您的凭证。然后,您将该令牌放在API的每个请求头中,而不用担心cookies。 现在我知道如何生成令牌并写入视图以进行身份验证和颁发令牌。但是,我还没有弄清楚如

  • 我有一个Web api终端,它给我JWT令牌。它不是一个完全授权的服务器。它只是可以生成一个JWT令牌。 现在我有另一个用 aspnet 核心编写的 Web 应用程序。其中在启动中.cs我添加了以下行,以便我可以使用收到的 JWT 令牌进行授权 我也有一个登录表单(在web应用程序中),用户输入用户名和密码,我发送到web api并获得令牌。为了保护web应用程序中的任何控制器,我只使用了[Aut

  • 我与React、Express、MongoDB的应用程序。 我想为Axios post请求传递带有标头的身份验证令牌。 但是,当我试图通过它,得到403错误(禁止)。 本地存储 我正在从本地存储中检索所有身份验证数据 Axios。邮递 我在这里调用axios post请求 API头和响应 这是我从浏览器中得到的响应 我的邮递员电话打得很好

  • 在我的第一个nodejs应用程序中实现授权时,我遇到了一个问题,该应用程序使用expressjs、sequelize和jsonwebtoken进行身份验证。在内部,我想禁止/允许不同用户的路由,我不想使用另一个包,如oauth2或为我处理授权的东西。 目前,我已经创建了一个jsonwebtoken,它的有效负载中包含权限角色: 否我想在“GET/user”这样的调用中检查是否允许经过身份验证的用户