3

我正在使用ngxs 'NgxsWebsocketPluginModule从我的 Angular 应用程序中创建一个 websocket。为了对连接的客户端进行身份验证,我的服务器需要在升级到 websocket 的 HTTP 连接的 HTTP 标头中存在身份验证令牌。由于ngxs 文档的 websocket 示例仅说明了如何通过 websocket 连接、发送和接收消息,因此我正在寻找一个示例,如何为此 Web 套接字连接编写拦截器以附加自定义 HTTP 标头。

4

1 回答 1

2

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

  1. 请求 Web-socket 连接票证(Authorization在您的 JWT 中使用标头)。
  2. 带有选项的调度ConnectWebSocket操作,其中包括您的 web-socket url 和作为查询参数的票证。
  3. 在接受连接握手之前验证票证(在您的服务器中)。
于 2018-09-23T20:46:48.950 回答