Ingress does not break when username missing (#4551)

This commit is contained in:
Mike Degatano 2023-09-11 10:42:31 -04:00 committed by GitHub
parent 44daffc65b
commit 32da679e02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 5 deletions

View File

@ -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():

View File

@ -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

View File

@ -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
]