直接上代码:
socketIOServer.addConnectListener(new ConnectListener() {
public void onConnect(SocketIOClient socketIOClient) {
String sessionId = socketIOClient.getSessionId().toString();
String token = socketIOClient.getHandshakeData().getSingleUrlParam("token");
log.info("onConnect: sessionId: {}, token: {}",
sessionId, token);
boolean validToken = true;
if (StringUtil.isEmpty(token)) {
log.warn("onConnect: sessionId: {}, token: {}: empty token",
sessionId, token);
socketIOClient.disconnect();
return;
}
validToken = SessionUtil.verifyToken(token); // 后台验证token是否合法
if (!validToken) {
log.warn("onConnect: sessionId: {}, token: {}: invalid token",
sessionId, token);
socketIOClient.disconnect();
return;
}
log.info("onConnect: sessionId: {}, token: {}: valid token",
sessionId, token);
}
});