【问题标题】:SockJS pass Auth headerSockJS 传递 Auth 标头
【发布时间】:2023-02-05 11:23:05
【问题描述】:

我正在尝试使用传递的 auth 标头在 SocketJs 中打开一个连接,但它不起作用,它给出了 401 。

这是我的代码

  const ws = new SockJS(WebSocketBaseUrl, {
    headers: {
      "Authorization": `Bearer ${this.token}`
    }
  });

  this.stompClientSubscribeUser = Stomp.Stomp.over(ws);

  const _this = this;

  _this.stompClientSubscribeUser.connect({
    headers: {
      "Authorization": `Bearer ${_this.token}`
    }
  },
    function () {
      _this.stompClientSubscribeUser.subscribe('/user/' + _this.userId + '/queue/messages', function (sdkEvent: any) {
        _this.onMessageReceived(sdkEvent);
      });
    });

【问题讨论】:

    标签: angular spring sockjs


    【解决方案1】:

    SocketJs 不支持授权令牌,请参考

    https://github.com/sockjs/sockjs-node#authorisation

    和 SocketJS 客户端上的相关票证:https://github.com/sockjs/sockjs-client/issues/196

    另一件需要注意的事情——选项应该是第三个参数:

    var sockjs = new SockJS(url, _reserved, options);
    

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 1970-01-01
      • 2016-09-09
      • 2022-07-21
      • 2013-11-24
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多