diff --git a/supervisor/api/ingress.py b/supervisor/api/ingress.py index dba6b3623..7865ca7bf 100644 --- a/supervisor/api/ingress.py +++ b/supervisor/api/ingress.py @@ -282,8 +282,10 @@ def _init_header( if session_data is not None: headers[HEADER_REMOTE_USER_ID] = session_data.user.id - headers[HEADER_REMOTE_USER_NAME] = session_data.user.username - headers[HEADER_REMOTE_USER_DISPLAY_NAME] = session_data.user.display_name + if session_data.user.username is not None: + headers[HEADER_REMOTE_USER_NAME] = session_data.user.username + if session_data.user.display_name is not None: + headers[HEADER_REMOTE_USER_DISPLAY_NAME] = session_data.user.display_name # filter flags for name, value in request.headers.items(): diff --git a/supervisor/const.py b/supervisor/const.py index a69b18c1e..da1109739 100644 --- a/supervisor/const.py +++ b/supervisor/const.py @@ -476,8 +476,8 @@ class IngressSessionDataUser: """Format of an IngressSessionDataUser object.""" id: str - display_name: str - username: str + display_name: str | None = None + username: str | None = None @dataclass diff --git a/supervisor/homeassistant/module.py b/supervisor/homeassistant/module.py index df9bcd4e9..280f00c31 100644 --- a/supervisor/homeassistant/module.py +++ b/supervisor/homeassistant/module.py @@ -457,7 +457,9 @@ class HomeAssistant(FileConfiguration, CoreSysAttributes): return [ IngressSessionDataUser( - id=data["id"], username=data["username"], display_name=data["name"] + id=data["id"], + username=data.get("username"), + display_name=data.get("name"), ) for data in list_of_users ]