当前位置: 首页 > 知识库问答 >
问题:

WebSocket处理程序中的API调用

逑何平
2023-03-14

我需要检查用户在请求websocket连接时是否提供了有效的令牌。对于验证,调用验证服务器是必要的。我如何同步实现它,以便websocket处理程序不会在有答案之前结束。我正在使用vertx框架。

server.websocketHandler(ctx -> {
        String clientId = ctx.binaryHandlerID();
        
        oAuth2WebSocket.authenticate(new JsonObject().put("access_token", ctx.query())
                .put("token_type", "Bearer"), authHndlr -> authenticateTokenOverWebSocket(authHndlr, ctx, clientId));

    });

共有1个答案

姜胤
2023-03-14

一种方法是在ServerEndpoint上配置Configurator。实现modifyHandshake方法并检查令牌。在此方法中,可以修改标头并指示用户是否没有令牌。

在另一种方法中,在相同的方法中,在从ServerEndpoint C获得的Maponfig.getUserProperties()和处理程序的实现(例如Whole)中设置一个变量来检查变量并做出相应的响应。

 类似资料:
  • 我试图抓住无效的json,而解析它与jiffy在牛仔web套接字处理程序。如果json是有效的/无效的,我想转发一个适当的消息到,它将回复客户端。这是我的代码。 这会导致运行时异常。 12:07:48.406[错误]牧场侦听器http已连接到进程 那我该怎么做呢?

  • 我有一个UITableView,在委托(视图控制器)中,我已经实现了该函数 然后,我测试编辑样式 作为删除的一部分,我请求用户确认,如果他们选择“是”,与该行相关的项目将被删除,如果他们选择“否”,我将重置编辑样式。 我似乎遇到的问题是没有调用任何完成处理程序。我在其他地方使用过这种格式,没有任何问题。 该警报将显示标题、消息以及按钮“取消”和“是”。如果我点击其中任何一个,什么都不会发生。警报被

  • 我试图使用一个简单的服务器-客户端应用程序(代码见下文)进入Netty。 我在与两个问题作斗争: null KJ 这就是服务器的创建方式: 其中一个处理程序类(FeedbackServerHandler执行完全相同的操作,但解析为整数):

  • 我需要从OracleIdtyManager中的自定义后处理事件处理程序调用外部REST API? 如果有人有想法,请在这里发布。

  • 我每个websocket接收几十条消息,这些消息可能只差几毫秒就能到达。我需要用操作来处理这些数据,这些操作有时会花费一些时间(例如,在DB中的插入)。为了处理接收到的新消息,必须完成对前一个消息的处理。 我的第一个想法是用Node.js Bull(用Redis)准备一个队列,但恐怕太长了,无法运行。这些消息的处理必须保持快速。 我尝试使用JS迭代器/生成器(直到现在我还从未使用过),我测试了如下

  • 我正在开发一个用PHP编写的预分叉TCP套接字服务器。 守护进程(父进程)分叉一定数量的子进程,然后等待,直到它被告知退出并且子进程都走了或者它收到信号。 SIGINT和SIGTERM使其将SIGTERM发送给所有子级。 孩子们建立了他们自己的信号处理器:SIGTERM导致一个干净的退出。SIGUSR1导致它转储一些状态信息(只需在下面的示例代码中打印出它收到了信号)。 如果子异常退出,则父级启动