angular - Ngxs + WebSocket | 如何拦截连接并添加自定义 HTTP 标头?
问题描述
我正在使用ngxs 'NgxsWebsocketPluginModule
从我的 Angular 应用程序中创建一个 websocket。为了对连接的客户端进行身份验证,我的服务器需要在升级到 websocket 的 HTTP 连接的 HTTP 标头中存在身份验证令牌。由于ngxs 文档的 websocket 示例仅说明了如何通过 websocket 连接、发送和接收消息,因此我正在寻找一个示例,如何为此 Web 套接字连接编写拦截器以附加自定义 HTTP 标头。
解决方案
面临同样的问题,但以下解决方法可以以另一种方式(使用票证)对用户连接进行身份验证:
- 请求 Web-socket 连接票证(
Authorization
在您的 JWT 中使用标头)。 - 带有选项的调度
ConnectWebSocket
操作,其中包括您的 web-socket url 和作为查询参数的票证。 - 在接受连接握手之前验证票证(在您的服务器中)。
推荐阅读
- python - 如何将类中的python函数注册为sparksql的udf
- c++ - 从 2 个单独的数组中删除重复元素
- mysql - 有没有办法清除 NHibernate 中的连接池?
- c# - 如何从身份服务器 3 获取多个范围的凭据?
- scala - Which option to choose for writing CSV file in Spark (HDFS)?
- php - Unable to figure it out this error. Message: Trying to get property of non-object
- ios - 如何快速提取 Json 数据
- qt - QLabel border visible within QGridLayout
- node.js - 与 async/await 一起使用时,如何从 Promise 中获得价值?
- html - Iterate an object using SMARTY?