websocket如何在header中携带token参数

这篇具有很好参考价值的文章主要介绍了websocket如何在header中携带token参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端部分

  let socket: WebSocket   

// socket = new WebSocket('ws://localhost:7011/websocket/2')
const socketUrl = `${baseUrl}/websocket/${userId.value}`.replace(
      'http',
      'ws'
  )

//token会放在请求的Sec-WebSocket-Protocol参数里面
socket = new WebSocket(socketUrl, [window.localStorage.getItem('token')])

后端接口过滤校验部分

        //如果需要处理请求,获取 Headers 中携带的 用户id 参数
        String token = request.getHeader("Authorization");
        if (token == null && requestURI.contains("/websocket")) {
            token = request.getHeader("Sec-WebSocket-Protocol");
            response.addHeader("Sec-WebSocket-Protocol", token);
            // 如果前端通过websocket连接时指定了Sec-WebSocket-Protocol,后端接收到连接后,
            // 必须原封不动的将Sec-WebSocket-Protocol头信息返回给前端,否则连接会抛出异常。
        }
        JwtUtil jwtUtil = new JwtUtil();
        String userId = jwtUtil.verifyToken(token);
        log.info("检验 token 中的用户 id 为 : {}", userId);
 详细解释文章 websocket如何携带header或参数_websocket 添加header_young的博客-CSDN博客

文章来源地址https://www.toymoban.com/news/detail-769052.html

到了这里,关于websocket如何在header中携带token参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信生成小程序码 怎么携带中文参数

    要在微信生成小程序码时携带中文参数,可以使用URL编码,将中文参数转换为%xx格式的编码。例如,如果要携带参数为“你好”,则可以将其转换为“%E4%BD%A0%E5%A5%BD”,然后将其添加到小程序码的路径中。 例如,如果你的小程序路径为“pages/index/index”,并且要携带参数为“

    2024年02月08日
    浏览(34)
  • websocket如何设置header

    websocket请求的时候要获取请求头而且需要给前端相同的相应,所以需要处理。这里记录一下。 创建一个配置类,并且继承ServerEndpointConfig.Configurator 重写 modifyHandshake 方法,获取请求头和反应相应赋值。  在@ServerEndpoint注解上加上configurator=WebSocketConfig.class 也就是上面配置的配

    2024年02月11日
    浏览(42)
  • 使用PostMan测试接口的时候如何在Header中添加token验证

    由于业务要求,每次接口请求都是post方式,且头部需要在自定义字段中定义token字段 在Authorization中添加APIKey 然后添加token和token的值,因为这里只是简单的开发个测试接口,所以不能通过登录验证去自动生成动态token,然后将token的返回值赋于Header中的token,所以就直接指定一

    2024年02月11日
    浏览(57)
  • springboot如何获取websocket的header头信息

    websocket协议与http协议类似,也有属于自己的头信息,如下图所示,为postman在连接时自定义的header: 那么在后端中,如何像http的 HttpServletRequest 一样来获取这个头信息的内容呢? 自定义一个WebSocket配置类: modifyHandshake()方法: 建立握手时,连接前的操作,可以获取到源信息,

    2024年02月01日
    浏览(33)
  • 微信小程序如何跳转到tabBar页面、如何携带参数过去

    微信底部如果用的是系统自动的 tabbar ,也就是在 app.json 中配置的底部路由: 需要注意以下两个问题: 比如,个人中心是 tabBar ,使用 navigator url=\\\"/pages/me/me\\\"个人中心/navigator 跳转时,无法跳转,也不会给任何提示。 如果在普通标签上使用 wx.navigateTo 跳转到任意 tabBar 页面,则

    2024年02月05日
    浏览(83)
  • 微信小程序之间是如何跳转的,并携带参数

    要实现小程序之间的跳转,需要使用小程序的跳转 API。具体步骤如下:         1、在原小程序中,使用  wx.navigateToMiniProgram  API 跳转到目标小程序。         2、在目标小程序中,接收参数并进行处理。在目标小程序中,可以使用wx.getLaunchOptionsSync API获取原始启动参

    2024年02月16日
    浏览(49)
  • 微信小程序中如何携带参数跳转到tabBar页面

    在小程序中使用了tabBar组件之后就不能用wx.navigateTo跳转到tabBar页面了 , 能跳转到tabBar页面的方法有以下两种   但是使用第一种方法时,会因为这种方法在路径后不能携带参数,所以行不通 那么就只能用第二种方法 , 用wx.reLaunch进行跳转 , 地址后跟上自己想要的参数 , 或者用wx

    2024年02月11日
    浏览(72)
  • 在前端开发中,什么叫移动设备上的视口?如何通过header标签中的meta属性设置页面的视口。

    移动设备上的视口(Viewport)是指在移动设备上可见的网页区域。由于移动设备的屏幕尺寸和分辨率各不相同,为了确保网页在各种设备上都能正确显示和交互,需要通过视口设置来适配不同的屏幕尺寸。 在移动设备上,网页通常会比在桌面电脑上的屏幕要宽,因此需要缩放

    2024年02月11日
    浏览(50)
  • ajax请求携带自定义请求头header(跨域和同域)

    1. ajax跨域请求(无cookie、无header)案例(java) (1)启动一个java web项目,配置两个域名(host),czt.ming.com、czt.casicloud.com, java后端代码如下 : 注意:Access-Control-Allow-Origin (2)前端页面代码如下: (3)测试ajax跨域请求: 通过http://czt.casicloud.com/xxx/xxx访问页面,js触发aja

    2023年04月26日
    浏览(40)
  • python中应用requests库模拟postman请求携带token,使用get和post方法请求头携带token

    实际开发中, Python程序中需要调用后台接口 ,充当前端, 后端规定请求头需要携带token postman中 form-data、x-www-form-urlencoded的区别_叫我峰兄的博客-CSDN博客 python requests 带请求头Token发起http请求_python request token_软件测试李同学的博客-CSDN博客 python发送requests请求时,使用登录的

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包