diff --git a/assemblyline_ui/sio/base.py b/assemblyline_ui/sio/base.py index 2e93e2d1..168f9c78 100644 --- a/assemblyline_ui/sio/base.py +++ b/assemblyline_ui/sio/base.py @@ -83,16 +83,18 @@ def get_user_info(request_p, session_p): src_ip = request_p.headers.get("X-Forwarded-For", request_p.remote_addr) sid = get_request_id(request_p) uname = None - current_session = KV_SESSION.get(session_p.get("session_id", None)) - if current_session: - if config.ui.validate_session_ip and src_ip != current_session.get('ip', None): - raise AuthenticationFailure(f"IP {src_ip} does not match session IP {current_session.get('ip', None)}") - - if config.ui.validate_session_useragent and \ - request_p.headers.get("User-Agent", None) != current_session.get('user_agent', None): - raise AuthenticationFailure(f"Un-authenticated connection attempt rejected from ip: {src_ip}") - - uname = current_session['username'] + session_id = session_p.get("session_id", None) + if session_id: + current_session = KV_SESSION.get(session_id) + if current_session: + if config.ui.validate_session_ip and src_ip != current_session.get('ip', None): + raise AuthenticationFailure(f"IP {src_ip} does not match session IP {current_session.get('ip', None)}") + + if config.ui.validate_session_useragent and \ + request_p.headers.get("User-Agent", None) != current_session.get('user_agent', None): + raise AuthenticationFailure(f"Un-authenticated connection attempt rejected from ip: {src_ip}") + + uname = current_session['username'] user_classification = None if uname: