【JavaScript】在websocket里面添加Token

websocket协议在握手阶段借用了HTTP的协议,但是在JavaScript websocketAPI中并没有修改请求头的方法。

var token='dcvuahsdnfajw12kjfasfsdf34'

send发送参数

var  ws = new WebSocket("ws://" + url + "/webSocketServer");
ws.onopen=function(){
    ws.send(token)
}

请求地址中带参数

var  ws = new WebSocket("ws://" + url?token + "/webSocketServer");
var  wss = new WebSocket("wss://" + url?token + "/webSocketServer");

基于协议头

websocket请求头中可以包含Sec-WebSocket-Protocol这个属性,该属性是一个自定义的子协议。它从客户端发送到服务器并返回从服务器到客户端确认子协议。我们可以利用这个属性添加token。

var  ws = new WebSocket("ws://" + url+ "/webSocketServer",[token]);
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
如果UniApp的WebSocket无法直接携带Token,你可以考虑以下两解决方案: 1. 将Token作参数传递: 在创建WebSocket连接时,将Token为连接地址的一部分传。例如,将Token作为查询参数附WebSocket连接地址的末尾。 示例代码如下: ```javascript // 在需要使用WebSocket的页面或组件中 // 获取Token let token = uni.getStorageSync('token'); // 创建WebSocket连接 let socket = uni.connectSocket({ url: 'ws://your-websocket-url?token=' + token, success() { console.log('WebSocket连接成功'); }, fail() { console.log('WebSocket连接失败'); } }); // 其他监听事件... ``` 在上述代码中,将Token作为查询参数附WebSocket连接地址的末尾,通过`?token=`的方式传递。 2. 使用自定义协议: 在创建WebSocket连接时,通过自定义协议将Token发送到服务器端。你可以在服务端编写相应的代码来解析和验证Token。 示例代码如下(前端): ```javascript // 在需要使用WebSocket的页面或组件中 // 获取Token let token = uni.getStorageSync('token'); // 创建WebSocket连接 let socket = uni.connectSocket({ url: 'ws://your-websocket-url', success() { console.log('WebSocket连接成功'); // 发送Token socket.send({ data: JSON.stringify({ token: token }) }); }, fail() { console.log('WebSocket连接失败'); } }); // 其他监听事件... ``` 在上述代码中,创建WebSocket连接后,通过`socket.send()`方法将Token发送到服务器端。在服务端,你需要解析接收到的数据,并验证Token的有效性。 这些解决方案都是基于WebSocket的特性和UniApp框架的限制进行的。根据实际情况,你可以选择适合你项目的方式来携带Token

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值