Websocket处理程序中的API调用



我需要检查用户在请求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));
});
一种方法是在ServerEndpoint上配置Configurator。实现modifyHandshake方法并检查令牌。在这种方法中,可以修改标头并指示用户是否没有令牌。

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

最新更新