将标头添加到 @aspnet/signalr Javascript 客户端

Jir*_*eng 4 signalr signalr-hub signalr.client asp.net-core-signalr

我正在使用来自此 npm 包的 @aspnet/signalr 官方 Javascript 客户端

我想知道是否有办法将Header配置添加到客户端连接头

我如何建立联系

let connection = new signalR.HubConnectionBuilder() .withUrl( "https://some.signalr-host.com" ) .build();

Ari*_*iac 11

2020 年初IHttpConnectionOptions 获得headers属性的定义。 (它在文档网站上不可见,但在 Typescript 定义文件中。)您现在可以执行以下操作:

const connection = new signalR.HubConnectionBuilder()
  .withUrl("https://some.signalr-host.com", {
       headers: {"foo": "bar"}
   })
  .build();
Run Code Online (Sandbox Code Playgroud)

  • 我认为它现在已记录在微软:https://learn.microsoft.com/en-us/aspnet/core/signalr/configuration?view=aspnetcore-7.0&tabs=javascript#configure-additional-options (2认同)

Jir*_*eng 6

做了一些研究后更新

似乎 signalR js/ts 客户端库无论如何都不支持添加自定义标头

因此,我们的解决方案是通过查询字符串发送参数,并使服务器 API 支持它

由于信号 R URL 连接不会显示在地址栏中,因此有点安全

例如

const connection = new HubConnectionBuilder()
      .withUrl(
        `${signalrUrl}&${key}=${value}`)
      .build();
Run Code Online (Sandbox Code Playgroud)