Ngxs + WebSocket |如何拦截连接并添加自定义 HTTP header?

Ngxs + WebSocket | How to intercept the connection and add custom HTTP header?

我正在使用 ngxs' NgxsWebsocketPluginModule to create a websocket from within my Angular application. To authenticate the connecting client my server requires an authentication token to be present in the HTTP headers of the HTTP connection that gets upgraded to a websocket. Since the websocket example of the ngxs documentation 仅解释如何通过 websocket 连接、发送和接收消息 我正在寻找一个示例如何为此 web 套接字连接编写拦截器以附加自定义 HTTP header.

面临同样的问题,但以下解决方法可以以另一种方式(使用票证)对用户连接进行身份验证:

  1. 请求 web-socket 连接票证(使用 Authorization header 和您的 JWT)。
  2. 调度 ConnectWebSocket 操作,选项包括您的 web-socket url 和作为查询参数的票证。
  3. 在接受连接握手之前验证票证(在您的服务器中)。