【问题标题】:Ngxs + WebSocket | How to intercept the connection and add custom HTTP header?Ngxs + WebSocket |如何拦截连接并添加自定义 HTTP 标头?
【发布时间】:2018-11-21 10:15:47
【问题描述】:
我正在使用ngxs'NgxsWebsocketPluginModule 从我的 Angular 应用程序中创建一个 websocket。为了对连接的客户端进行身份验证,我的服务器需要在升级到 websocket 的 HTTP 连接的 HTTP 标头中存在身份验证令牌。由于ngxs documentation 的 websocket 示例仅说明了如何通过 websocket 连接、发送和接收消息,因此我正在寻找一个示例,如何为此 Web 套接字连接编写拦截器以附加自定义 HTTP 标头。
【问题讨论】:
标签:
angular
websocket
ngxs
【解决方案1】:
面临同样的问题,但以下解决方法可以以另一种方式(使用票证)验证用户连接:
- 请求 Web-socket 连接票证(在您的 JWT 中使用
Authorization 标头)。
- 使用选项发送
ConnectWebSocket 操作,其中包括您的 web-socket url 和作为查询参数的票证。
- 在接受连接握手之前验证票证(在您的服务器中)。