Подтвердить authToken - PullRequest
       4

Подтвердить authToken

0 голосов
/ 14 ноября 2018

Получил веб-сокет - посмотрите authToken в Cookie, в Java Spring, как вы проверяете этот authToken?Я понимаю, что этот authToken передается из слоя http в websocket, поэтому я пытаюсь проверить, что websocket открывается нашим приложением, а не каким-либо другим источником.

Headers for Websocket:  
GET ws://localhost:9999/somePath/websocket HTTP/1.1  
Host: localhost:9999  
Connection: Upgrade  
Pragma: no-cache  
Cache-Control: no-cache  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36  
Upgrade: websocket  
Origin: http://localhost  
Sec-WebSocket-Version: 13  
Accept-Encoding: gzip, deflate, br  
Accept-Language: en-US,en;q=0.9  
Cookie: authToken=elFKMk5TckR0ZUNvdnZySUJxc2ZMdz09OklEZENrRFRySkp0U0ltVFdKU1RIZVE9PQ  
Sec-WebSocket-Key: e//VDAjHSRjE810tCbIEyw==  
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits  
Sec-WebSocket-Protocol: v10.stomp, v11.stomp, v12.stomp  

Я бы хотелпроверьте, что authToken в HttpHandshakeInterceptor.beforeHandshake

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer
registry.addEndpoint(stompEndPoint).addInterceptors(new HttpHandshakeInterceptor()).setAllowedOrigins("*").withSockJS();

public class HttpHandshakeInterceptor implements HandshakeInterceptor
Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map attributes) throws Exception {

    if (request instanceof ServletServerHttpRequest) {
        ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
        HttpSession session = servletRequest.getServletRequest().getSession();
        attributes.put("sessionId", session.getId());
        // validate token logic

    }
    return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...